Christian Rinderknecht
8e294a013c
Added assignment of a value to a map binding: m.[i] := v.
2019-03-14 13:19:52 +01:00
Christian Rinderknecht
c0e6843240
I added record creation (injection), field selection (projection)
...
and functional update (copy).
The only creative piece of concrete syntax is that of the
expression for functional updates:
copy foo with record field = value end
where "copy", "with", "record" and "end" are keywords.
2019-03-14 09:59:26 +01:00
Christian Rinderknecht
29df2ff9aa
Declarations can now be written in any order. Removed top-level block.
...
The parser exports now an entry rule for parsing Ligo expressions.
2019-03-11 12:51:50 +01:00
Christian Rinderknecht
8746802571
Storage and operations are now explicitly named.
...
Refactoring of AST to enable the detection of incomplete pattern
matchings by the OCaml compiler. Some record fields renamed for
better readability.
2019-03-10 19:41:27 +01:00
Christian Rinderknecht
7dcad4779e
I added entrypoints (and removed the parameter declaration).
...
I fixed the pretty-printing of strings.
2019-03-10 13:55:24 +01:00
Christian Rinderknecht
0b5932f986
Removed the looping visitor.
2019-03-10 13:37:03 +01:00
Christian Rinderknecht
00a255aa9e
Changed the line comments to start with "//". The list constructor is now "#".
2019-03-08 16:06:50 +01:00
Christian Rinderknecht
09f790680f
I extended the grammar with optional semicolons and vertical bars.
2019-03-07 17:06:02 +01:00
Christian Rinderknecht
45d18f7b12
Added instruction 'fail'. I changed the grammar and AST for local functions and removed global mutable variables.
2019-02-28 15:46:34 +01:00
Galfour
9df0f6ad3a
initial commit
2019-02-25 21:29:29 +00:00