Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve Code Documentation Clarity and Fix Typos #72

Open
wants to merge 1 commit into
base: avm
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions IDEAS.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## Ideas

This is a random list of ideas that help designing the language.
Most if this is heavily inspired by zkASM / PIL of the polygon/hermez team.
Most of this is heavily inspired by zkASM / PIL of the polygon/hermez team.

Main goal: Everything is written in the same language, if possible not even spread across multiple files.

Expand All @@ -25,7 +25,7 @@ pol constant OVERFLOW(i) { (A[i] + B[i]) >> 16 };
By just declaring A and B to be of type u16, it might not be needed to define them?
There should be a way to create a "cross product" of constants somehow, so that the definition of A and B
above is trivial.
This could also help to combine two lookps into one.
This could also help to combine two lookups into one.

#### Cross-Product Brainstorming

Expand Down Expand Up @@ -59,7 +59,7 @@ The second is `A` which has one row for each value between `0` and `2**16-1`. Th
and `C` are identical to `A`.
The cross-product then first constructs polynomials of size `3 * 65536 * 65536 * 65536` such that the four-tuple
contains all combinations of rows. The function finally reduces the polynomials to size `3 * 65536 * 65536`,
because onyl one value of `C` is valid for each `OP`-`A`-`B`-combination.
because only one value of `C` is valid for each `OP`-`A`-`B`-combination.

### The "Polynomial" Terminology

Expand Down Expand Up @@ -103,7 +103,7 @@ compiler that the system is not underconstrained.

### Post-conditions

Similarly, in (2), users should also show when the combintation of lookups have
Similarly, in (2), users should also show when the combination of lookups have
certain properties.


Expand Down Expand Up @@ -149,7 +149,7 @@ If a macro is used in statement context, it cannot have an expression and
if it is used in expression context, it must have an expression (but can also have statements).

The optimizer will of course ensure that redundant constraints are removed
(be it because the are just duplicated or because they are already implied by lookups).
(be it because they are just duplicated or because they are already implied by lookups).

### Instruction / Assembly language

Expand Down