Lesenechal Remi
5a77b08aa7
cleaning & documenting
2019-10-28 20:52:14 +01:00
Lesenechal Remi
a3deccf352
changing the name of the lambda to 'arguments' make its arguments available
2019-10-28 20:52:14 +01:00
Lesenechal Remi
164e88e818
remove shadowing of lambda name over the constant name
2019-10-28 20:52:14 +01:00
Lesenechal Remi
d651bfb3a3
remove misplaced 'skip'
2019-10-28 20:52:14 +01:00
Lesenechal Remi
0cf7471441
prepend the body of the lambda with let_in's
2019-10-28 20:52:14 +01:00
Lesenechal Remi
91d92e048d
special case for pascaligo generated LIST/SET/MAP_FOLD
2019-10-28 20:52:14 +01:00
Lesenechal Remi
70502f62cb
fix the way lambda arguments are accessed
2019-10-28 20:52:14 +01:00
Lesenechal Remi
db79b6b9da
select op_name from collection key word
2019-10-28 20:52:14 +01:00
Lesenechal Remi
79de96136d
Collection for translation without type annotation on record
2019-10-28 20:52:14 +01:00
Lesenechal Remi
730c130fb3
merge step and down reemoval
...
WIP
WIP
2019-10-28 20:52:14 +01:00
Lesenechal Remi
536b5648c8
some cleaning
2019-10-28 20:52:14 +01:00
Lesenechal Remi
1d3d57c7c5
not complete for collect tryout
2019-10-28 20:52:14 +01:00
Lesenechal Remi
3058a57c62
cleaning and better tests
2019-10-28 20:52:14 +01:00
Lesenechal Remi
b7961fc8ec
cleaning
2019-10-28 20:52:14 +01:00
Lesenechal Remi
d8e44476ba
First version for ForInt loops
2019-10-28 20:52:14 +01:00
Christian Rinderknecht
2c4183f008
Merge branch 'feature/cameligo-bitwise-operators' into 'dev'
...
[LIGO-177] Add bitwise operators to CameLIGO
See merge request ligolang/ligo!160
2019-10-28 18:13:54 +00:00
John David Pressman
c7e4f3f651
Remove lxor, land, and lor from reserved words
2019-10-28 09:18:16 -07:00
Suzanne Dupéron
dcf5a975d4
More of subst
2019-10-28 01:10:26 -04:00
Suzanne Dupéron
174c028406
Fixing issues in the new typer
2019-10-27 23:24:21 -04:00
John David Pressman
cae0dfb1aa
Change names to the standard library names for the functions in OCaml
2019-10-27 12:05:34 -07:00
Tom Jack
0191d8b0ed
Replace "mtz" with "mutez"
2019-10-27 11:50:24 -05:00
Tom Jack
076c245724
Merge branch 'get-contract-address' into 'dev'
...
Typecheck address argument to get_contract
See merge request ligolang/ligo!159
2019-10-26 13:33:23 +00:00
Suzanne Dupéron
1dc690bbba
Bugfix: only one propagator was called. Now they are all (both of them so far) called in turn.
2019-10-25 22:30:20 -04:00
John David Pressman
ea661247b6
Add bitwise operators to CameLIGO
...
Right now they're defined as '.bor' and '.band' because of a glitch
in CameLIGO's parser where 'X.Y' leads to a parse error if Y is a
keyword or reserved word in CameLIGO.
2019-10-25 16:12:54 -07:00
Rémi Lesenechal
5a5c3a8dd4
Merge branch 'feature/clean-big-map' into 'dev'
...
Feature/clean big map
See merge request ligolang/ligo!145
2019-10-25 21:30:09 +00:00
Tom Jack
ef05b47dc6
Typecheck address argument to get_contract
2019-10-25 11:27:55 -05:00
Tom Jack
afbf2ba2db
Less stupid way to combine adjacent drops
2019-10-25 00:42:31 -05:00
Tom Jack
7c99affd4b
Organize prims by their strangeness
2019-10-25 00:00:39 -05:00
Tom Jack
dae4f58297
Combine adjacent DROP
2019-10-24 23:58:21 -05:00
Tom Jack
9ae39bab97
Fix (latent?) Babylon bug in self_michelson pass
2019-10-24 23:58:15 -05:00
Christian Rinderknecht
c0f4aaf0c7
Fixed the regression on case clauses (blocks were removed).
2019-10-24 10:33:22 +02:00
Christian Rinderknecht
4a9150f560
WIP: Fixing a regression (blocks in case clauses as intructions).
2019-10-24 10:33:22 +02:00
Suzanne Dupéron
c4e996d5aa
Fixed module issue, thanks Christian
2019-10-23 12:17:18 -04:00
Suzanne Dupéron
535c291b3f
blabla
2019-10-23 10:45:48 -04:00
Suzanne Dupéron
10362426aa
blabla
2019-10-23 10:41:36 -04:00
Christian Rinderknecht
4730df6ea1
Merge branch 'rinderknecht-dev' into 'dev'
...
Forbidding empty patches (records, maps, sets)
See merge request ligolang/ligo!148
2019-10-23 10:06:26 +00:00
John David Pressman
1f50cc8f57
Remove PascaLIGO set_size
2019-10-22 20:24:05 -07:00
John David Pressman
c4cc4fcba9
Add set size op for CameLIGO and PascaLIGO
2019-10-22 19:28:13 -07:00
Christian Rinderknecht
eae3348d51
I forbade empty patches (parser). Fixed AST pretty-printer (PascaLIGO).
...
Changed accordingly the simplifier: the dead code for the error about
empty record patches is no long.
2019-10-23 00:35:29 +02:00
Suzanne Dupéron
79967e9067
Hit a module problem in OCaml.
2019-10-22 08:50:21 -04:00
Lesenechal Remi
2a2c708b54
adding Big_map.* operators for cameligo
2019-10-22 12:23:48 +02:00
Lesenechal Remi
cefac0d8e7
add big_map injection
2019-10-22 12:23:48 +02:00
Christian Rinderknecht
9ad0859a4c
Merge branch 'feature/pascaligo-remove-case-as-expression' into 'dev'
...
Feature/pascaligo add conditional as an expression
See merge request ligolang/ligo!144
2019-10-22 08:42:59 +00:00
Christian Rinderknecht
fa30b7d87d
Merge remote-tracking branch 'origin/dev' into rinderknecht-dev
2019-10-22 10:38:32 +02:00
John David Pressman
8f799321d6
Add string concatenation support to CameLIGO
2019-10-21 15:46:26 -07:00
Christian Rinderknecht
312dc65950
Merge remote-tracking branch 'origin/dev' into rinderknecht-dev
2019-10-21 21:42:52 +02:00
John David Pressman
97f2a44a24
Merge branch 'feature/pascaligo-expr-fun' into 'dev'
...
[LIGO-150] Add blockless functions to PascaLIGO
See merge request ligolang/ligo!143
2019-10-20 08:46:15 +00:00
John David Pressman
09230df60a
Remove kwd_expr
2019-10-19 10:55:39 -07:00
John David Pressman
daad15c57d
Write blockless function test and make it pass
2019-10-19 10:46:24 -07:00
John David Pressman
ec67d37f20
Gabriel wants to see the code
2019-10-19 09:11:18 -07:00
John David Pressman
6e0173a9a7
Fix type error when where blockfun types eat regions
2019-10-18 17:46:20 -07:00
Lesenechal Remi
6b55bf3630
cleaning
2019-10-18 17:44:10 +02:00
Lesenechal Remi
080b25a3bd
WIP: add test. still have two ECond implementation, none of them pass the test
2019-10-18 17:44:10 +02:00
Christian Rinderknecht
d95f345dbf
First attempt at adding conditionals as expressions.
...
Warning: The simplifier is not done yet.
2019-10-18 17:44:10 +02:00
Lesenechal Remi
bec3419936
cleaning
2019-10-18 14:47:04 +02:00
Lesenechal Remi
b721a19b00
WIP: add test. still have two ECond implementation, none of them pass the test
2019-10-18 14:32:58 +02:00
Christian Rinderknecht
704c744ace
First attempt at adding conditionals as expressions.
...
Warning: The simplifier is not done yet.
2019-10-18 13:52:26 +02:00
Gabriel Alfour
62e6b1d469
Merge branch 'feature/babylon' into 'dev'
...
upgrade to babylon
See merge request ligolang/ligo!141
2019-10-18 07:56:36 +00:00
John David Pressman
2bffba379d
Remove anonymous records
2019-10-17 22:34:38 -07:00
John David Pressman
35a59a0867
Add parser tokens, guru meditation on why the AST types don't work
2019-10-17 21:33:45 -07:00
John David Pressman
8997155a57
Rough draft of single-expr function syntax
2019-10-17 20:50:41 -07:00
Christian Rinderknecht
e53d4035d0
Removed corner case that could not be triggered in PascaLIGO simplifier.
2019-10-17 18:46:40 +02:00
Christian Rinderknecht
36d9858e97
Removed sub-blocks from PascaLIGO.
2019-10-17 18:33:58 +02:00
Lesenechal Remi
9f0b61659e
we don't need to check for closures in function arguments
2019-10-17 17:18:10 +02:00
galfour
27be6cfcba
use apply for closures
2019-10-17 16:34:02 +02:00
galfour
8a4b9695e7
use dig/dug for get/set
2019-10-17 15:48:24 +02:00
galfour
56269231b3
upgrade to babylon
2019-10-17 11:45:27 +02:00
Suzanne Dupéron
81ab0267f5
cleanup
2019-10-16 22:19:32 -04:00
Christian Rinderknecht
00016d09bb
I removed the definition of procedures.
...
Note: This immediately removes some unsupported cases of the
simplifier, pertaining to the definition of procedures.
2019-10-16 15:39:08 +02:00
Christian Rinderknecht
1299ecac6b
Merge remote-tracking branch 'origin/dev' into rinderknecht-dev
2019-10-16 12:00:40 +02:00
Christian Rinderknecht
157e24ff08
Fixed documentation.
...
There was an error in the syntax of tuple projection (no parentheses
are needed, in fact).
Another issue was a wrong Markdown layout for lists (my fault).
2019-10-16 11:50:31 +02:00
Christian Rinderknecht
15937a2459
Bug fixing in the AST pretty-printer and new syntax for iterators.
...
I added a type annotation for the variable iterating a
collection, which is also now marked as "map", "set" or "list".
I fixed and refactored the pretty-printer for the AST.
2019-10-16 01:11:54 +02:00
Christian Rinderknecht
27564426da
Bug fixes and finished AST pretty-printer.
...
ParserLog: Finished the AST pretty-printer.
ParserMain: The CLI "ast" is now "ast-tokens" and the new "ast"
calls the AST pretty-printer.
Bug: Added nat literals as patterns.
AST: Removed unary constructor TupleInj.
Parser and simplifier:
- The rule "cartesian" is now properly stratified.
- Parenthesised expressions now correctly create EPar nodes.
2019-10-15 21:03:46 +02:00
John David Pressman
b80f16eb34
Merge branch 'feature/pascaligo-set-deep-rm' into 'dev'
...
[LIGO-139] Add deep set removal to PascaLIGO
See merge request ligolang/ligo!136
2019-10-15 14:47:17 +00:00
John David Pressman
6f5e88c93c
Make failing deep set removal test pass
2019-10-14 18:59:16 -05:00
John David Pressman
8a9a72b673
Merge branch 'dev' of gitlab.com:ligolang/ligo into gardening/code-comments
2019-10-14 16:31:57 -07:00
Tom Jack
ed69c858a8
Use right folds
2019-10-14 14:05:35 -05:00
John David Pressman
c4babe60d8
Merge branch 'dev' of gitlab.com:ligolang/ligo into feature/pascaligo-map-patch
2019-10-14 11:34:26 -07:00
Christian Rinderknecht
89971f31d0
Forgot to commit the change in the simplifier.
2019-10-13 20:15:50 +02:00
Christian Rinderknecht
f634d36b76
Refactorings for PascaLIGO.
...
- I aligned the names of the tokens in common with Ligodity.
- I removed the "down" and "step" clauses in loops.
- Note: the stratification of the rule "pattern" in the
previous commit has the pleasant effect to remove a call
to "corner_case" in function "simpl_case" of the
file "2-simplify/pascaligo.ml".
- Added more cases to the pretty-printer of the AST.
2019-10-13 19:51:01 +02:00
Christian Rinderknecht
f795f1216a
Bug fixing in the lexers and the parser. Started AST pretty-printer.
...
LexToken, AST: Tiny refactoring.
Bug: Added the making of the AST node PBytes.
Parser: The rule "pattern" was not properly stratified (the
constructor "PCons" was always produced, even when no consing was
done (now a fall-through to "core_pattern").
Bug: When sharing the lexers between Ligodity and Pascaligo, a
regression was introduced with the lexing of symbols. Indeed,
symbols specific to Ligodity (like "<>") and
Pascaligo (like "=/=") were scanned, but the
function "LexToken.mk_sym" for each only accepted their own,
yielding to an assertion to be invalidated. Fix: I created an
error "sym_err" now to gracefully handle that situation and
provide a hint to the programmer (to wit, to check the LIGO
syntax in use).
WIP: Started to write pretty-printing functions for the nodes of
the AST.
CLI: The option "--verbose=ast" now calls that function instead
of printing the tokens from the AST. When the pretty-printer is
finished, the option for printing the tokens will likely
be "--verbose=ast-tokens".
2019-10-12 23:42:26 +02:00
Christian Rinderknecht
d7baebdb2f
Merge branch 'feature/pascaligo-set-patch' into 'dev'
...
[LIGO-127] Add set patch functionality to PascaLIGO
See merge request ligolang/ligo!127
2019-10-12 20:35:14 +00:00
John David Pressman
b304772928
Change set patch to use left fold
2019-10-12 12:38:05 -07:00
John David Pressman
5070ded5b9
Add complex path traversal to map patch
2019-10-11 17:26:28 -07:00
John David Pressman
3d053cd073
Refactor map patch so that it uses fewer assignments
2019-10-11 15:44:16 -07:00
Suzanne Dupéron
3bbb8bfd8b
Fixed merge issues with new merge of dev
2019-10-11 17:01:28 -04:00
Suzanne Dupéron
5a58559edc
Merge remote-tracking branch 'origin/dev' into HEAD
2019-10-11 16:59:45 -04:00
Tom Jack
c2a3fd473c
Fix test
2019-10-11 15:27:41 -05:00
Tom Jack
c5361c57d4
Simplify a bit
2019-10-11 15:10:11 -05:00
Tom Jack
e672d10029
Expose tez mod tez, too
2019-10-11 14:54:22 -05:00
John David Pressman
d947f3b462
Change set patch to chain calls and only use one assignment
2019-10-11 12:38:00 -07:00
Tom Jack
d87d0aab73
Expose tez/tez division
2019-10-11 14:35:23 -05:00
Suzanne Dupéron
9e2c057edb
dune build passes, but not dune build @ligo-test. Threaded the typechecker's state in a bunch of places where it's likely not needed, because I don't know which parts are entrypoints and which parts are intermediate functions, and the role of the state between program fragments is not yet 100% clear to me.
2019-10-11 15:21:28 -04:00
John David Pressman
58b8e537e4
Merge branch 'dev' of gitlab.com:ligolang/ligo into feature/pascaligo-set-patch
2019-10-11 09:02:45 -07:00
Suzanne Dupéron
1356159281
WIP on integrating typer with the bin / CLI, fixed last API change
2019-10-11 04:08:12 -04:00
John David Pressman
49ffe00466
Remove unsupported_map_patch error in PascaLIGO simplifier
2019-10-10 18:35:39 -07:00
John David Pressman
c181ec1cac
Upload rough draft of map patch functionality with test
...
Right now I'm concerned that the way this generates the code is inefficient, in particular this line:
`in ok @@ (access_path, key', value', loc)`
Since the comments [on my code for the set patch](https://gitlab.com/ligolang/ligo/merge_requests/127 )
warned that repeated generation of the access path is a bad idea(?). In any case this does work, so
it's something I can improve on.
2019-10-10 18:26:28 -07:00
John David Pressman
0de17f4b57
Add empty set patches, add test for empty set patches
2019-10-10 13:35:38 -07:00
Suzanne Dupéron
2a39aa2949
Revert "Builds (commented out a few issues, just to check that there are no compilation errors left)"
...
This reverts commit 581babb459
.
2019-10-10 03:55:15 -04:00
Suzanne Dupéron
581babb459
Builds (commented out a few issues, just to check that there are no compilation errors left)
2019-10-10 03:55:08 -04:00