Alessandro Coglio
efffcc98dc
[ABNF] Add numerals to tokens.
...
Given that arithmetic literals are now all typed in the grammar, we need
numerals to be listed as tokens. Otherwise, array dimensions and tuple indices
would not be tokens, but they must be.
2022-03-14 22:05:42 -07:00
Eric McCarthy
572d59d67f
[ABNF] regenerate README.md
2022-03-14 12:35:56 -07:00
Eric McCarthy
ffa8200d92
[ABNF] update some documentation
2022-03-14 12:29:19 -07:00
Alessandro Coglio
3f6b17646c
[ABNF] Add a clarification to the documentation.
...
No grammar change in this commit.
2022-03-10 15:31:31 -08:00
Alessandro Coglio
ca3ae89a3e
[ABNF] Rename 'natural' to 'numeral'.
...
This applies both to the rule name and to the terminology used for that, namely
for a non-empty sequence of decimal digits.
While 'natural' was meant to describe a natural number (i.e. a non-negative
integer: 0, 1, 2, ...), it is perhaps not a familiar term to many users.
On the other hand, 'integer', while often used in programming languages for this
kind of thing, is not ideal as integers may be negative.
Also, assuming type inference, a lone numeral like `17` may actually not denote
an integer number at all, because it may actually denote a group element if type
inference turns it into `17group`, and group elements are not integers.
All in all, 'numeral' seems like a good term, also according to its dictionary
definition. It is used in the Java grammar to denote this kind of thing, for
instance.
If, in the future, we want to allow hexadecimal, octal, or binary notation, we
could rename this to `decimal-numeral`, introduce `hexadecimal-numeral`,
`octal-numeral`, and `binary-numeral`, and `numeral` as the union of these.
2022-03-10 15:23:58 -08:00
Collin Chin
4dd70474f5
Merge pull request #1669 from AleoHQ/abnf-integer-fix
...
[ABNF] Fix use of integers in literals.
2022-03-10 12:02:10 -08:00
Alessandro Coglio
f735ca8864
[ABNF] Update some documentation.
...
This does not change the grammar. It merely updates some text in the comments,
which shows a rule that was changed at some point but its copy in the comments
was not properly updated.
Thanks to @bendyarm for noticing this.
2022-03-08 23:23:38 -08:00
Alessandro Coglio
7e930d8670
[ABNF] Fix use of integers in literals.
...
This removes the rule for `integer` and uses `natural` for all numeric literals.
Otherwise, lexing would be context-dependent for no good reason.
This is consistent with the lexer and parser of the Leo compiler.
Note that, for instance, `-1field` is not a literal, but rather a unary
expression where `-` is applied to the literal `1field`. This is consistent with
other languages too.
2022-03-08 21:08:59 -08:00
Collin Chin
5e2ba78750
Merge pull request #1656 from AleoHQ/remove/unsized-array
...
Remove/unsized array
2022-03-07 17:14:03 -08:00
Alessandro Coglio
6cbf206f86
[ABNF] Require types to avoid type inference.
...
Types are now required in variable and constant declarations (including for loop
variables), and for literals (i.e. there are no longer untyped literals).
2022-03-05 23:52:34 -08:00
Alessandro Coglio
6aca970b88
[ABNF] Re-generate markdown.
...
(Forgot to do this in the previous commit.)
2022-03-04 19:51:14 -08:00
Alessandro Coglio
c30df925ef
[ABNF] Adapt ABNF to removal of unsized arrays.
...
This "merges" the two previous slightly different notions of array type
dimensions and array expression dimension(s) into one notion of array
dimensions, in which the dimensions have to be natural numbers. (Previously,
array type dimensions were allowed to be unspecified (via underscores), while
array expression dimensions had to be specified.)
2022-03-04 19:42:42 -08:00
collin
10bea676a8
remove unsized arrays
2022-03-04 12:23:46 -08:00
collin
22f605349c
merge testnet3
2022-02-28 09:42:37 -08:00
collin
e263e64279
restructure compiler and delete unused code
2022-02-22 15:12:52 -08:00
Alessandro Coglio
7f9b6b09da
Merge pull request #1414 from AleoHQ/rfc/static-circuit-members
...
[RFC] Add a way to define static members to circuits to accesses RFC
2021-10-27 21:46:34 -07:00
gluaxspeed
870dfe8a9d
fix typo
2021-10-26 09:09:47 -07:00
Alessandro Coglio
582dfed17d
[RFC] Make change suggested by Damir.
2021-10-25 21:23:06 -07:00
gluaxspeed
8600c13dd3
make agreed upon changes
2021-10-25 06:43:09 -07:00
Alessandro Coglio
ae26d4c7d4
[RFC] Add an RFC for const functions.
...
The purpose of this RFC is to:
- Provide user documentation for this feature in a more accessible way than
in the text for https://github.com/AleoHQ/leo/pull/1410 , particularly after
that PR is closed.
- Record the discussion in a recent meeting about broadening the notion of const
function to map const arguments to const results rather than requiring const
arguments, as a possible future extension.
2021-10-24 22:19:33 -07:00
gluaxspeed
a34f36b9c1
add example for static constant
2021-10-21 11:31:40 -07:00
gluaxspeed
5654e8a7a6
add a way to define static members to circuits to accesses rfc
2021-10-21 11:27:02 -07:00
Alessandro Coglio
6e3900dfa2
Merge pull request #1380 from AleoHQ/rfc-import
...
[RFC] Some minor edits and some additions to the imports RFC
2021-10-07 09:12:16 -07:00
Alessandro Coglio
f3a1352ec2
[RFC] Minor edits to the text.
2021-10-05 21:01:47 -07:00
Alessandro Coglio
aa29ce30d4
[RFC] Move some text to explicit background section.
...
According to new template, background is at the same level as (and before)
design.
2021-10-05 20:54:59 -07:00
Alessandro Coglio
7d4198fe43
[RFC] Change some headling levels.
...
In accordance with new template.
2021-10-05 20:53:20 -07:00
Alessandro Coglio
93210e7879
[RFC] Revise the background on pacakges and imports.
...
Starting to establish precise nomenclature and definitions for these Leo
concepts.
2021-10-04 19:04:11 -07:00
Alessandro Coglio
bc9658b972
[RFC] Improve some wording.
2021-10-04 18:51:48 -07:00
Alessandro Coglio
ebc213342b
Merge pull request #1377 from AleoHQ/rfc-recursion
...
[RFC] Clarify bounded recursion RFC
2021-10-01 20:06:07 -07:00
Alessandro Coglio
5b77e1e283
[RFC] Add a background section.
2021-10-01 10:58:45 -07:00
Alessandro Coglio
b37de11116
[RFC] Minor edits (just form, no change of substance).
2021-10-01 10:46:06 -07:00
Alessandro Coglio
8d26cc5676
[RFC] Adjust heading levels according to new template.
2021-10-01 10:38:16 -07:00
Alessandro Coglio
d134548d0e
Merge pull request #1373 from AleoHQ/rfc-strings
...
[RFC] Clarify structure of character/string RFC
2021-09-30 22:13:53 -07:00
Alessandro Coglio
b91864828f
Merge pull request #1372 from AleoHQ/rfc-template
...
[RFC] Extend template.
2021-09-30 22:13:19 -07:00
Alessandro Coglio
a5de1d6ee3
Merge pull request #1368 from AleoHQ/rfc-rec-trans
...
[RFC] Updates to record/transaction model
2021-09-30 22:12:53 -07:00
Alessandro Coglio
aca438aaba
[RFC] Move some text under future extensions.
2021-09-30 10:15:15 -07:00
Alessandro Coglio
8b39f54165
[RFC] Move inlining examples to background section.
2021-09-30 10:10:23 -07:00
Alessandro Coglio
d633f93f6f
[RFC] Use header levels consistent with (new) template.
2021-09-30 09:55:52 -07:00
Alessandro Coglio
87c8ec2923
[RFC] Move future extensions under future extensions.
...
Also add subsections for each future feature.
Also tweak/improve some wording.
2021-09-29 10:26:53 -07:00
Alessandro Coglio
6340929f28
[RFC] Move future extensions section to the end.
2021-09-29 10:17:09 -07:00
Alessandro Coglio
4bbbac131e
[RFC] Use heading levels accoring to template.
2021-09-29 10:15:46 -07:00
Alessandro Coglio
b966b1833c
[RFC] Generalize some text.
2021-09-29 10:13:24 -07:00
Alessandro Coglio
c3dab6a153
[RFC] Move future extensions section last.
...
Since it may refer to something discussed under alternatives, it makes more
sense to put this after that.
2021-09-29 10:05:22 -07:00
Alessandro Coglio
2e43c0c58f
[RFC] Extend template.
2021-09-28 22:46:38 -07:00
Alessandro Coglio
9daeaf41e0
[RFC] Add some text about input/output files.
2021-09-27 14:25:35 -07:00
Alessandro Coglio
acd217036d
[RFC] Move some text under 'alternatives'.
2021-09-27 14:14:18 -07:00
Alessandro Coglio
8f6d1a2d89
[RFC] Add subsection about transaction I/O access.
2021-09-27 13:49:51 -07:00
Alessandro Coglio
da66672a6f
[RFC] Add subsection for entry point I/O types.
2021-09-27 13:39:23 -07:00
Alessandro Coglio
012770c2c0
Merge pull request #1361 from AleoHQ/rfc-scalar-methods
...
[RFC] Some updates to the RFC for scalar methods.
2021-09-27 13:13:26 -07:00
Alessandro Coglio
52eedad24c
[RFC] Put transaction inputs/outputs into subsection.
2021-09-27 13:05:42 -07:00
Alessandro Coglio
f525d34922
[RFC] Move text on multiple entry points to subsection.
...
Also improve that text.
2021-09-27 12:47:54 -07:00
Alessandro Coglio
eb84e27018
Merge pull request #1360 from AleoHQ/rfc-statuses
...
[RFC] Update some statuses.
2021-09-27 12:45:34 -07:00
Alessandro Coglio
184243b471
[RFC] Make title and summary more precise.
...
We are improving the current model, not creating a new one.
2021-09-27 12:38:24 -07:00
Alessandro Coglio
4c95d41c31
[RFC] Move background to new section.
2021-09-27 12:30:13 -07:00
Alessandro Coglio
5ee579005c
[RFC] Add link to Zexe paper.
...
Other small improvements to the text.
2021-09-27 12:27:18 -07:00
Eric McCarthy
547b714d82
fix typo
2021-09-27 11:58:06 -07:00
Eric McCarthy
322aaee280
Add section on implementation decisions.
2021-09-27 11:54:52 -07:00
Alessandro Coglio
4c3b0d344b
Merge pull request #1342 from AleoHQ/rfc
...
[RFC] Initial draft of record/transaction RFC.
2021-09-27 10:55:53 -07:00
Alessandro Coglio
95d0799f9e
[RFC] Make some text more precise.
2021-09-27 10:47:59 -07:00
Alessandro Coglio
1db16356ce
[RFC] Update status.
2021-09-22 10:24:37 -07:00
Alessandro Coglio
551ac4d747
[RFC] Update grammar changes to apply to latest grammar.
2021-09-22 10:24:07 -07:00
Alessandro Coglio
30cce1a5f1
[RFC] Fix number.
2021-09-22 10:19:23 -07:00
Alessandro Coglio
2b0b460b9a
[RFC] Update some statuses.
2021-09-22 10:16:01 -07:00
Alessandro Coglio
e08d2522f1
[RFC] Revise discussion of 'input' treatment.
...
Incorporate suggestions from Eric and Mazdak on this.
2021-09-21 09:49:36 -07:00
Alessandro Coglio
1fc9814421
[RFC] Incorporate suggestion.
2021-09-21 09:12:04 -07:00
Alessandro Coglio
151366ba5c
[RFC] Add a new idea for handling transaction outputs.
2021-09-20 11:04:51 -07:00
Alessandro Coglio
d863d1e3ed
[RFC] Mention also Output as suggested.
2021-09-20 10:07:49 -07:00
Alessandro Coglio
59cadadf2d
[RFC] Incorporate naming suggestion.
2021-09-20 09:55:50 -07:00
Alessandro Coglio
b08e63124b
[RFC] interface -> entrypoint
...
This emerged as consensus from yesterday's meeting.
2021-09-17 10:10:39 -07:00
Alessandro Coglio
43a4a6e414
[RFC] Fix typo.
2021-09-17 10:07:51 -07:00
Alessandro Coglio
c491a16f36
[RFC] Use x instead of * -- Eric M.'s suggestion.
2021-09-17 10:07:10 -07:00
Alessandro Coglio
a5f74195cf
Merge pull request #1333 from AleoHQ/array-len-function
...
[Feature] Adds .len() postfix to arrays
2021-09-15 10:10:32 -07:00
Alessandro Coglio
4c816dd024
[RFC] Fix two typos.
...
Thanks to Errol Drummond for reporting these.
2021-09-14 09:09:02 -07:00
Alessandro Coglio
65cfffac99
[RFC] Initial draft of record/transaction RFC.
2021-09-13 10:13:47 -07:00
damirka
4f41f09ef2
Merge branch 'master' into array-len-function
2021-09-13 14:26:38 +03:00
damirka
158576f8f5
changed length() to len()
2021-09-10 16:55:32 +03:00
gluaxspeed
93f9f7df30
update built-ins rfc
2021-09-10 06:50:01 -07:00
Alessandro Coglio
dc9864d89c
Merge pull request #1311 from AleoHQ/rfc-tweak
...
[RFC] Streamline RFC author information.
2021-09-08 09:37:32 -07:00
gluaxspeed
80eeacb3c5
fix some refrences
2021-09-07 09:24:00 -07:00
gluaxspeed
9ac0510cb9
update rfc #8
2021-09-07 03:58:28 -07:00
Alessandro Coglio
eee2db223d
[RFC] Streamline RFC author information.
2021-08-31 09:11:26 -07:00
Alessandro Coglio
a42b7f35c2
[RFC] Update an ABNF rule fragment.
...
This was referring to a previous version of the rule, and presumably it is the
reason why 'true' and 'false' were accidentally re-added to the keyword rule.
2021-08-27 11:28:24 -07:00
Alessandro Coglio
378599afba
[RFC] Add more proposed mods to ABNF grammar.
2021-08-23 14:39:59 -07:00
Alessandro Coglio
b2cce0e140
[RFC] Avoid repeated word.
2021-08-23 14:25:15 -07:00
Alessandro Coglio
0732ea15b6
Merge pull request #1248 from AleoHQ/rfc/primitive-types-as-circuits
...
[RFC] Add an RFC for Scalar Methods
2021-08-18 10:53:08 -07:00
Alessandro Coglio
9c3c57c9cd
Merge pull request #1252 from AleoHQ/rfc-native-functions
...
[RFC] Initial proposal for better native functions.
2021-08-18 10:18:09 -07:00
Alessandro Coglio
a15aba3c2d
Merge pull request #1231 from AleoHQ/rfc-bit-byte-conv
...
[RFC] Add an RFC for bit and byte conversions.
2021-08-17 10:07:17 -07:00
gluaxspeed
c140e666a5
make suggested changes, also renumber as it would conflict with 009 bits/bytes
2021-08-16 11:38:01 -07:00
Alessandro Coglio
6047886446
[RFC] Extend bit/byte conversion RFC.
...
Add a paragraph clarifying what an adequate implementation strategy could be.
In any case, we are likely to go with methods on scalar types directly.
2021-08-16 10:48:24 -07:00
Alessandro Coglio
6e264b86ef
[RFC] Extend bit/byte conversion RFC.
...
Add an alternative in which we go to methods directly. This seems more likely at
this point, given that we seem to have a fairly simple and quick way to support
methods on scalar types that does not involve turning scalar types into circuit
types.
2021-08-16 10:44:10 -07:00
Alessandro Coglio
1bc19d8b1c
[RFC] Extend the native functions RFC a bit more.
...
Explicate how the initially proposed design is consistent with Java, and how the
native implementations live in separate files in that design. This better paves
the way to the more recent variant of this proposal, currently discussed under
alternatives but that may be eventually "swapped" if that's also the rest of the
team's consensus.
2021-08-16 10:22:04 -07:00
Alessandro Coglio
16daa63dea
[RFC] Extend native functions RFC based on discussion with Jon.
2021-08-16 10:19:16 -07:00
Alessandro Coglio
110b05bfc2
[RFC] Improve title as suggested by Jon.
2021-08-16 10:11:52 -07:00
gluaxspeed
54eb95c62d
Change RFC based on discussion
2021-08-13 18:21:39 -07:00
Alessandro Coglio
f1384787ee
[RFC] Initial proposal for native functions.
2021-08-13 12:00:19 -07:00
gluaxspeed
fe3de3900e
add rfc for primtive types as circuits
2021-08-12 01:30:24 -07:00
damirka
c8706dd582
adds compiler phases pdf
2021-08-05 20:17:10 +03:00
Alessandro Coglio
87db1bfdb6
[RFC] Add an RFC for bit and byte conversions.
2021-08-03 13:28:57 -07:00
Alessandro Coglio
16947a2808
Merge pull request #1202 from AleoHQ/rfc-built-in-decls
...
[RFC] Initial draft of RFC for built-in declarations.
2021-07-28 11:07:41 -07:00
Alessandro Coglio
c655b636d3
Merge pull request #1187 from AleoHQ/rfc-type-aliases
...
[RFC] Initial RFC for type aliases.
2021-07-28 11:03:35 -07:00
Alessandro Coglio
542638baf9
[RFC] Initial draft of RFC for built-in declarations.
...
This has been written to be more broad than type aliases, which were the initial
inspiration for this.
2021-07-27 13:38:22 -07:00
Alessandro Coglio
14d8c261a1
[RFC] Expand discussion on length operator.
...
In particular, this captures a previous GitHub discussion with Jon and Elijah.
2021-07-26 12:54:20 -07:00
Alessandro Coglio
4a8b857b27
[RFC] Add exmaples to type alias RFCs.
...
As suggested by Jon.
2021-07-23 23:22:56 -07:00
Alessandro Coglio
4919b2cc02
[RFC] Divide 'Design' section into subsections.
2021-07-23 23:13:46 -07:00
Alessandro Coglio
7ea35ef7ab
[RFC] Initial RFC for type aliases.
2021-07-23 22:05:12 -07:00
Alessandro Coglio
2605e0a0ee
[RFC] Updates some statuses.
2021-07-23 20:32:13 -07:00
Alessandro Coglio
443d02783f
Merge pull request #1166 from AleoHQ/rfc-arrays-no-size
...
[RFC] Initial draft for array types with unspecified size.
2021-07-23 20:27:39 -07:00
Alessandro Coglio
8ae399a412
[RFC[ Add bubble sort as an additional example.
...
This was the inspiring example.
2021-07-21 00:09:17 -07:00
Alessandro Coglio
93bd1dcc4f
[RFC] Add idea of <bound> <sign> <var> <sign> <bound>.
2021-07-21 00:02:04 -07:00
Alessandro Coglio
98ce2cf05d
[RFC] Discuss idea of explicit up/down indication.
2021-07-20 23:58:11 -07:00
Alessandro Coglio
f1ba1c5806
[RFC] Discuss alternative proposal about flipping bounds.
2021-07-20 23:51:53 -07:00
Alessandro Coglio
8adaff8a76
[RFC] Add an observation based on previous discussion.
2021-07-20 23:29:45 -07:00
Alessandro Coglio
9c2b61b346
[RFC] Move a discussion under 'Alternatives'.
2021-07-20 23:22:12 -07:00
Alessandro Coglio
590ef07e0a
[RFC] Add a subsection title for mocking under alternatives.
...
This is because the next commits will be adding more subsections there.
2021-07-20 23:18:40 -07:00
Alessandro Coglio
09f7e4b10d
Merge pull request #1172 from AleoHQ/rfc-import-stabilization
...
[RFC] Update import stabilization RFC to follow changes
2021-07-20 11:08:23 -07:00
damirka
66fbc644d0
grammar fixes
2021-07-20 20:55:45 +03:00
damirka
d986621e1b
update rfc to follow changes
2021-07-20 18:04:42 +03:00
Alessandro Coglio
c47a9e47d1
[RFC] Add discussion of loop step and direction.
2021-07-19 17:28:38 -07:00
Alessandro Coglio
229d45d807
Fix RFC number in title.
...
Also remove some trailing whitespace.
2021-07-16 17:55:13 -07:00
Alessandro Coglio
8f26d4d527
[RFC] Initial draft for array types with unspecified size.
2021-07-16 17:12:43 -07:00
Alessandro Coglio
a0923b95c9
[RFC] Extend the countdown loops RFC.
...
Discuss a possible extension to designate also the starting bound as inclusive
or exclusive, and discuss (a)symmetries and options.
2021-07-09 09:59:33 -07:00
Alessandro Coglio
0d3e53e754
Merge pull request #1067 from AleoHQ/backward-loops-rfc
...
[RFC] Adds countdown loops RFC
2021-07-08 14:20:57 -07:00
Alessandro Coglio
82a5527ea0
[RFC] Update the type casts RFC.
...
Based on consensus within the Leo team, now the RFC prescribes the
value-preserving semantics. The discussion on value-changing semantics has been
moved to the 'Alternatives' section. Other text has been adapted and improved to
reflect the chosen approach (before, value-preserving and value-changing were
presented as two possible candidates for type casts).
2021-07-06 16:12:37 -07:00
damirka
d27375d9d6
fix another typo
2021-07-05 19:57:37 +03:00
damirka
cc47350322
fix typo in comment
2021-07-05 16:31:46 +03:00
damirka
d1f8e52eba
rework example to shaker sort
2021-07-05 16:28:50 +03:00
damirka
5f840e3b1e
fix example - syntax outdated
2021-07-05 15:58:10 +03:00
damirka
f4e270ffd2
post review fixes
2021-07-05 15:47:01 +03:00
Alessandro Coglio
b10343ce7f
Merge pull request #1072 from AleoHQ/imports-stabilization
...
[RFC] Extending scope of the RFC to include proving system and curve
2021-07-02 09:45:13 -07:00
damirka
35660c851b
grammar fixes
2021-07-01 19:14:06 +03:00
Alessandro Coglio
322518c196
Merge pull request #1056 from AleoHQ/rfc-type-casts
...
[RFC] Add initial RFC for type casts.
2021-06-30 22:04:28 -07:00
Alessandro Coglio
98b59566f1
Fix typo.
2021-06-30 14:47:34 -07:00
damirka
91078a4414
small edits
2021-06-30 22:14:36 +03:00
damirka
b371fecaea
wrap up
2021-06-30 22:00:48 +03:00
Alessandro Coglio
3413f608eb
[RFC] Incorporate suggestions from Eric M.
2021-06-29 10:59:23 -07:00
damirka
34777842e5
draft updates for ps and curves
2021-06-28 21:20:45 +03:00
damirka
ad823ae8eb
count down to countdown
2021-06-28 20:37:25 +03:00
damirka
f67c45774f
adds countdown loops rfc
2021-06-27 20:18:07 +03:00
damirka
1083fc80c2
grammar fixes
2021-06-23 13:07:44 +03:00
Alessandro Coglio
ffd2a81b60
[RFC] Add initial RFC for type casts.
2021-06-22 14:56:17 -07:00
damirka
7b150f3a19
draft for imports RFC
2021-06-22 19:45:19 +03:00
Alessandro Coglio
414cddb96d
[RFC] Add concrete proposal for compiler option.
...
This is based on today's discussion at the compiler sync. The rationale for the
proposed name is explained in the added text. Open to change, as always.
2021-06-09 22:12:33 -07:00
Alessandro Coglio
8242cf4eb5
Merge pull request #1011 from AleoHQ/rfc-recursion
...
Add RFC for bounded recursion.
2021-06-08 21:55:05 -07:00
Eric McCarthy
27499429a7
Update 002-bounded-recursion.md
...
minor fixups
2021-06-08 18:32:05 -07:00
Alessandro Coglio
316e781c19
Update status of strings RFC.
2021-06-07 14:09:38 -07:00
Alessandro Coglio
696f877e5b
Add RFC for bounded recursion.
2021-06-06 22:01:18 -07:00
Eric McCarthy
b59b77df30
Disallow underbars in \u{} escapes.
...
Rust allows `\u{1_____0__F____F______FF__________________________}` to mean `\u{10FFFF}`, in both char and string literals. This PR, if accepted, would disallow this syntax in Leo char and string literals.
2021-06-06 20:10:06 -07:00
Eric McCarthy
37e9e35bf4
Update 001-initial-strings.md
...
Add references to Rust documentation on character literal syntax and string literal syntax. Remove example of empty string.
2021-05-26 09:10:00 -07:00
Alessandro Coglio
31bb04b395
[RFC] Add a clarification.
2021-05-10 19:47:34 -07:00
Alessandro Coglio
b91dc7da4a
[RFC] Fix typo found by Eric M.
2021-05-09 14:23:11 -07:00