John David Pressman
085a756ed3
Fix bug where tuples are destructured with the members in the wrong order
2019-12-03 10:49:58 -08:00
John David Pressman
8609196bac
Fix IMPLICIT_ACCOUNT
2019-12-03 00:00:01 -08:00
Tom Jack
317313ecc6
Rename executable to fix merlin confusion
2019-12-01 23:08:05 +00:00
John David Pressman
0b3e057819
Add self address to CameLIGO and PascaLIGO
2019-12-01 21:56:49 +00:00
John David Pressman
03dd86c9ad
Expose address operator in PascaLIGO and CameLIGO
2019-12-01 21:56:49 +00:00
John David Pressman
694c3aea97
Add implicit_account to operators
2019-12-01 21:56:49 +00:00
Rémi Lesenechal
4be2d6fb6a
Refactoring eval run functions
2019-11-29 21:22:56 +00:00
Tom Jack
a121766a89
Fix semantic merge conflict w/ expect tests
2019-11-29 10:00:58 -06:00
Gabriel Alfour
c1dac64af3
Merge branch 'feature/inlining2' into 'dev'
...
Substitution-based inlining
See merge request ligolang/ligo!227
2019-11-29 14:17:25 +00:00
Gabriel Alfour
bfb01d371a
Merge branch 'feature/more-subtraction' into 'dev'
...
Type subtraction also as nat->int->int and int->nat->int
See merge request ligolang/ligo!228
2019-11-29 10:13:29 +00:00
Tom Jack
49586b65be
Type subtraction also as nat->int->int and int->nat->int
2019-11-28 06:48:24 -06:00
Tom Jack
0040b1f460
Mention subcommand --help only once
2019-11-27 11:00:21 -06:00
Tom Jack
e3fbc58e7a
Show help instead of "Do ligo --help"
2019-11-27 11:00:21 -06:00
Tom Jack
32625bb075
Use doc
not docs
in cli
2019-11-27 11:00:21 -06:00
Tom Jack
06603b594a
Mini_c: Identify more pure constants
2019-11-27 09:06:36 -06:00
Tom Jack
66d2cda107
Mini_c: Inlining optimization
2019-11-27 09:06:31 -06:00
Lesenechal Remi
e7195c4c41
mutisig v2 some renaming and counter reset fix
2019-11-26 19:21:51 +01:00
Lesenechal Remi
39c7766b08
multisig v2 comments
2019-11-26 19:11:30 +01:00
Lesenechal Remi
cf540a1a78
multisigv2 default entry point
2019-11-26 19:11:30 +01:00
Lesenechal Remi
c8eb1a3fa6
multisigv2 with less user uncertainty
2019-11-26 19:11:30 +01:00
Lesenechal Remi
b82383751c
multisigv2 more robust to spam
...
Set limits to the number of approvals and message sizes
2019-11-26 19:11:30 +01:00
Lesenechal Remi
652138b115
new 'expect' test helpers working on expressions
2019-11-26 19:11:30 +01:00
Lesenechal Remi
00def6d20e
Fix a bug, test added:
...
A never accounted message was not adding anything to the map
2019-11-26 19:11:30 +01:00
Rémi Lesenechal
48bef70a6a
Merge branch 'record-accesses-fix' into 'dev'
...
Broken nested access to record
See merge request ligolang/ligo!225
2019-11-26 18:09:06 +00:00
Lesenechal Remi
c1c551e33f
fix and more tests
2019-11-26 18:08:53 +01:00
Lesenechal Remi
848b902cd9
generated variable name typo
2019-11-26 17:49:23 +01:00
Tom Jack
f7ef0472be
Add command for measuring contracts
2019-11-25 17:36:22 -06:00
Tom Jack
c322ca53de
Merge branch 'feature/cli-tests' into 'dev'
...
Add some cli expect tests
See merge request ligolang/ligo!215
2019-11-25 19:59:47 +00:00
Tom Jack
3323c7f7d2
Fix build: constrain dune version
2019-11-25 08:15:11 -06:00
Tom Jack
e16ddf7ddc
Merge branch 'region-invalid' into 'dev'
...
Fix a Region.Invalid error in Cameligo simplifier
See merge request ligolang/ligo!214
2019-11-22 21:53:59 +00:00
Rémi Lesenechal
c7dfd54f7e
Resolve "Error when dry-running a contract (having a storage which contains a lambda)"
2019-11-22 20:28:55 +00:00
Rémi Lesenechal
1219a0188c
Merge branch 'contract-multisigv2' into 'dev'
...
Multisig v2
See merge request ligolang/ligo!218
2019-11-22 17:04:35 +00:00
Lesenechal Remi
6555c39c9d
some review request
2019-11-22 17:15:49 +01:00
Lesenechal Remi
cd94fd850b
move common funciton test helpers
2019-11-22 15:52:46 +01:00
Lesenechal Remi
30a410413a
mulisig contract v2 and test
2019-11-22 15:41:30 +01:00
John David Pressman
0b50d94071
Add higher order function test to CameLIGO
2019-11-22 02:22:29 -08:00
Tom Jack
7f7d5972ac
Fix a Region.Invalid error in Cameligo simplifier
2019-11-21 16:53:17 -06:00
Tom Jack
6f9778f578
Add some cli expect tests
2019-11-21 16:46:38 -06:00
Tom Jack
dbb36e6fdc
Use runtest to run tests
2019-11-21 12:28:38 -06:00
Lesenechal Remi
17ecf12fa3
multisig : non quadratic signature check
2019-11-21 17:21:39 +01:00
Lesenechal Remi
88a0f33fca
add key_hash type and crypto_key_hash operator to pascaligo
2019-11-21 17:21:39 +01:00
Lesenechal Remi
87d0064113
Multisig made robust to replay attack
2019-11-21 17:21:39 +01:00
Lesenechal Remi
1185b8abda
add chain_id type and operator
2019-11-21 17:21:39 +01:00
Lesenechal Remi
4edf58726a
multisig tests
2019-11-21 17:21:39 +01:00
Lesenechal Remi
beeba317d6
multisig contract
2019-11-21 17:19:11 +01:00
Lesenechal Remi
edb1e3d607
add crypto_check function to pascaligo
2019-11-21 17:19:11 +01:00
Lesenechal Remi
2fa78bd0bd
add key and signature types
2019-11-21 17:19:11 +01:00
Tom Jack
5ab3bf85e9
Merge branch 'mystery-bigmap' into 'dev'
...
Fix/simplify big_maps using Babylon
See merge request ligolang/ligo!173
2019-11-21 15:04:37 +00:00
Tom Jack
81c49f4342
Fix/simplify big_maps using Babylon
2019-11-21 08:18:18 -06:00
John David Pressman
c2c774ba75
Add closure test to CameLIGO
2019-11-21 06:02:47 -08:00
Lesenechal Remi
f27f8c10d1
For collection loop: also capture variable in logical blocks
...
Also, the iterated element/s are appended tot he list of local declaration
2019-11-21 11:28:32 +01:00
Pierre-Emmanuel Wulfman
cdb36167f9
remove rope
2019-11-20 17:27:32 +01:00
John David Pressman
eb85595818
Add is_nat operator to CameLIGO
2019-11-20 12:48:55 +00:00
John David Pressman
598fbf96ed
Add is_nat operator to PascaLIGO
2019-11-20 12:48:55 +00:00
John David Pressman
4270cc0d22
[LIGO-229] Change ordering of collection operation args
2019-11-20 12:16:31 +00:00
Tom Jack
e9319b518c
Merge branch 'fix-dev' into 'dev'
...
Fix semantic merge conflict in test and parser
See merge request ligolang/ligo!205
2019-11-20 00:07:21 +00:00
Tom Jack
1a3909affd
Fix semantic merge conflict in test and parser
2019-11-19 17:19:26 -06:00
Rémi Lesenechal
5aada38d5d
Merge branch 'feature/tests-catch-failwith-and-pack' into 'dev'
...
Test framework catch failwith and pack
See merge request ligolang/ligo!203
2019-11-19 23:18:07 +00:00
Lesenechal Remi
725176a59d
allow to pack message (aka lambda of type unit -> operation list)
2019-11-19 23:27:43 +01:00
Tom Jack
863dfbb39d
Merge branch 'feature/get-entrypoint' into 'dev'
...
Add `get_entrypoint`...
See merge request ligolang/ligo!184
2019-11-19 22:27:12 +00:00
John David Pressman
9b0eb636fb
Properly typed multi-variable binding simplification
...
Thanks for the help Sanders. :)
2019-11-19 21:13:52 +00:00
Lesenechal Remi
f7d6a5ea58
allow to catch failwith's in our tests
2019-11-19 15:38:23 +01:00
Rémi Lesenechal
f0655eab28
Pascaligo for collection loops: take locally declared variable into account
2019-11-19 13:25:48 +00:00
John David Pressman
bbcacc253b
Merge branch 'feature/pascaligo-anon-functions' into 'dev'
...
Feature/pascaligo anon functions
See merge request ligolang/ligo!201
2019-11-19 08:33:54 +00:00
John David Pressman
e1a05a27c5
Remove vestigial commented-out code
2019-11-18 23:45:26 -08:00
Matej Sima
5ba34b3ac3
Updated docs with blockless & anonymous functions, added variable mutation disclaimer, updated landing page pascaligo example.
2019-11-19 01:44:36 +01:00
galfour
63822e0430
test anon function
2019-11-18 18:44:15 +01:00
Tom Jack
723201ce5e
Add get_entrypoint
...
2019-11-18 09:28:20 -06:00
galfour
ddc4b7b7a5
add anon functions; remove pre-block declarations; update tests
2019-11-18 16:10:48 +01:00
Lesenechal Remi
91e245ef70
Fix issue with nested collection loop where inner loop iterated elements were shadowing outer loop iterated element
2019-11-18 14:14:54 +01:00
galfour
5422049dba
Merge branch 'dev' into feature/more-applications-pascaligo
2019-11-18 09:53:57 +01:00
Lesenechal Remi
e689d3d3b7
more doc
2019-11-15 20:05:35 +01:00
Lesenechal Remi
683bc0a72b
fix problems with nested for collection loop
2019-11-15 20:05:35 +01:00
Tom Jack
a73ede31e7
Work around upstream in-place update
2019-11-15 10:02:22 -06:00
galfour
d0efbd9f92
add and test more ways to do function application in pascaligo
2019-11-14 20:13:15 +01:00
Tom Jack
5b60109606
Improve purity test for dead code elimination
2019-11-13 14:05:22 -06:00
John David Pressman
3675aed76d
Merge branch 'dev' of ssh://gitlab.com/ligolang/ligo into feature/pascaligo-balance
2019-11-12 17:16:07 -08:00
Pierre-Emmanuel Wulfman
29a86ad411
Fix: deep access
2019-11-12 17:07:09 +00:00
John David Pressman
273ec8c280
Add ability to access balance to PascaLIGO
2019-11-12 08:01:18 -08:00
Pierre-Emmanuel Wulfman
f91de985d0
remove 'Access_Map'
2019-11-12 14:28:58 +00:00
Rémi Lesenechal
73919e3a5c
Merge branch 'rinderknecht-dev' into 'dev'
...
Removing the type annotation for variables iterating over collections.
See merge request ligolang/ligo!178
2019-11-07 11:23:31 +00:00
Christian Rinderknecht
02f58ee212
I removed the annotation for the variable that iterates over collections.
...
for x in set s block { ... } // now
for x : t in set s block { ... } // before
2019-11-06 20:12:25 +01:00
John David Pressman
7c291158c2
Finish balance operator and add test for CameLIGO
2019-11-06 11:08:18 -08:00
Christian Rinderknecht
759978393a
Merge branch 'rinderknecht-dev' into 'dev'
...
Refactoring of PascaLIGO's front-end
See merge request ligolang/ligo!176
2019-11-06 17:17:02 +00:00
Christian Rinderknecht
0fdbbe0a4c
Merge remote-tracking branch 'origin/dev' into rinderknecht-dev
2019-11-06 17:33:39 +01:00
Christian Rinderknecht
9da6d81a0f
Added local test file.
2019-11-06 17:33:00 +01:00
Christian Rinderknecht
fe90246e3a
Fixed the printing of some AST nodes.
2019-11-06 17:23:49 +01:00
Tom Jack
a69d084d0a
Fix merge conflict
2019-11-06 07:35:15 -06:00
Christian Rinderknecht
70a9afcce2
Merge branch 'rinderknecht-dev' into 'dev'
...
Refactoring of Ligodity (CameLIGO) and making an AST pretty-printer
See merge request ligolang/ligo!172
2019-11-06 12:18:54 +00:00
Pierre-Emmanuel Wulfman
e741531041
Merge branch 'clean-sts-solver' into 'dev'
...
New typer in a separate folder along with old typer
See merge request ligolang/ligo!166
2019-11-06 11:28:03 +00:00
Suzanne Dupéron
0b7a84e949
Fixed qwerty typo + small cleanup
2019-11-05 21:52:59 +00:00
Christian Rinderknecht
bd6ce2f28c
Bug fix: Some nodes were not indented.
2019-11-05 15:57:43 +01:00
John David Pressman
2aeebb8726
Add bytes arithmetic tests to CameLIGO
2019-11-04 16:58:34 -08:00
Christian Rinderknecht
351025b52d
Refactoring of Ligodity (CameLIGO) and making an AST pretty-printer
...
- AST.ml/AST.mli:
- The AST now distinguishes the constructors `None` and `Some` as being
predefined, as in PascaLIGO. See type `AST.constr_pattern`.
- I removed the nodes specific to Liquidity,
e.g. `let%entry`, and, in particular, the natural literals
ending with `p`. Now it should be `n`, as in `10n`.
- I renamed the node `TAlias` to `TVar`.
- I have applied the rule of expanding type expressions after `of` when
those were not records.
- The type of the argument to a data constructor is now
`type_expr`, instead of `cartesian`.
- I added the patterns for bytes (`PBytes`) and natural literals (`PNat`).
- I renamed the node `Sugar` into
`PListComp` (meaning "pattern of list comprehension").
- Record types in CameLIGO now must have at least one field declaration.
- Replaced the type `closing` and `opening` with one type `compound`,
which captures only the right combinations of opening and closing.
- Components of tuples in a selection must not be written
between parentheses. For example, `a.b.(1).(0)` is now
`a.b.1.0`, as in PascaLIGO.
- LexToken.mli/LexToken.mll
- I renamed the string literal `Str` into `String`.
- I added the tokens `C_None` and `C_Some` (to distinguish the
constructors `None` and `Some`. See AST.ml)
- Fixed the function `mk_sym` so it does not fail with `failwith`, but
with `Error Invalid_symbol`.
- Lexer.mll (shared)
- I removed the character `%` from the identifiers (used to
support Liquidity, like `entry%point` and `match%nat`).
- I adde to the hint on broken strings: "or insert a backslash"
(from a Gitlab issue).
- ParToken.mly
- I added the tokens `C_None` and `C_Some` (to distinguish the
constructors `None` and `Some`. See AST.ml and LexToken.mll)
- Parser.mly
- Fixed the order of declarations in the AST (it was reversed).
- I removed syntax support for Liquidity.
- I added user-defined constructor applications to irrefutable
patterns (the ones afer a `let`), even though only the type
checker can decide that they are truly irrefutable because they
are the only constructors of their types.
- I added natural numbers and bytes to patterns.
- Access of tuple components do not require parentheses now, like
`a.b.1.0`.
- I refactored the semantic actions.
- I added the empty sequence `begin end`.
- ParserLog.ml/ParserLog.mli
- I added a pretty-printer for the AST (with source locations).
- ParserMain.ml
- The CLI for the pretty-printer is now `--verbose=ast`.
- The old CLI `--verbose=ast` is now `--verbose=ast-tokens`.
- ligodity.ml (simplifier)
- I removed the constructions of sets, lists and maps with
`Set [...]`, `List [...]` and `Map [...]`, as there are already
better ways (that is, more like the OCaml's way), like
`Set.literal [...]` and `Map.literal [...]`. (The case for lists
was entirely redundant with the rest of the language as it is.)
- Everywhere there is now a non-empty list of elements, I made a
change. In particular, I removed a corner case ("let without
binding"), thanks to more precise OCaml types for non-empty
lists.
- I ported all the changes to the AST above.
- region.ml (vendors)
- I changed the method `compact` so the end-line is not repeated
if it is the same as the start line: this is even more compact. I
use this in the new pretty-printer for the AST (see above)
- I updated all the CameLIGO contracts.
2019-11-04 23:51:47 +01:00
John David Pressman
aec572fc20
[LIGO-168] Add the while loop to CameLIGO
2019-11-04 19:06:18 +00:00
Suzanne Dupéron
4325ba7ee4
Merge branch 'clean-sts-solver' of gitlab.com:ligolang/ligo into clean-sts-solver
2019-11-04 18:44:09 +00:00
Suzanne Dupéron
40b318eff6
Rename 4-typer to 4-typer-old (part 2: make changes)
2019-11-04 18:40:49 +00:00
Suzanne Dupéron
f41625ceb3
Rename 4-typer to 4-typer-old (part 1: move files)
2019-11-04 18:39:56 +00:00
galfour
9fe5d821c3
Merge branch 'dev' into clean-sts-solver
2019-11-04 16:32:32 +01:00
Tom Jack
c969f306af
Eliminate dead lambdas
2019-11-02 18:43:46 -05:00
Tom Jack
e30b7faa9d
Mini_c: Remove T_deep_closure and D_function
2019-11-02 18:43:46 -05:00
Tom Jack
cccbd424a8
Implement Mini_c.Free_variables
2019-11-02 18:43:46 -05:00
Tom Jack
ba7a83d0f7
Deal with upstream MBytes changes
2019-11-02 17:54:33 -05:00
Suzanne Dupéron
865cf80c77
Tests pass again, using the old typer
2019-11-01 09:48:09 -04:00
Suzanne Dupéron
45347e3e88
Bring back copy of the old typer (part 2: changes)
2019-10-31 18:19:01 -04:00
Suzanne Dupéron
d57a87a3ea
Moving new typer to separate folder
2019-10-31 17:43:44 -04:00
Suzanne Dupéron
5c3e1ad642
Hack for E_constant with loops shouldn't be necessary in new typer, thanks to typeclasses?
2019-10-31 17:19:01 -04:00
Suzanne Dupéron
1e06c24325
Merge branch 'dev' of gitlab.com:ligolang/ligo into clean-sts-solver
2019-10-31 17:18:09 -04:00
Suzanne Dupéron
dce15a79c6
WIP on understanding where in the AST we need the subst.
2019-10-31 13:21:05 -04:00
Lesenechal Remi
b9d32ddf4e
add bytes_pack
2019-10-31 17:39:07 +01:00
Rémi Lesenechal
0423a704ec
Merge branch 'feature/signature_type' into 'dev'
...
add signature type
See merge request ligolang/ligo!164
2019-10-31 16:36:23 +00:00
Lesenechal Remi
f341527aa6
add signature type
2019-10-31 16:46:07 +01:00
Tom Jack
58638c6a05
Merge branch 'feature/hex' into 'dev'
...
Add hex michelson output, use enums for format options
See merge request ligolang/ligo!162
2019-10-31 15:39:03 +00:00
Tom Jack
76ecd56e3d
Merge branch 'feature/babylon-optimizer' into 'dev'
...
Update optimizer for Babylon
See merge request ligolang/ligo!158
2019-10-31 15:17:00 +00:00
Tom Jack
fd03d577e4
Support --michelson-format in all commands producing Michelson
2019-10-31 09:50:51 -05:00
Pierre-Emmanuel Wulfman
770bdda9df
commenting a little bit the typesystem
2019-10-30 19:35:35 +01:00
Suzanne Dupéron
c0397f68a0
Wrap type names with a constructor Type_name, so that merlin does not think that all strings are type names
2019-10-30 12:50:19 -04:00
John David Pressman
750605cee4
Merge branch 'dev' of gitlab.com:ligolang/ligo into test/cameligo-test-parity
2019-10-29 22:06:42 -07:00
John David Pressman
27b7527f18
Add test for CameLIGO set fold
2019-10-29 21:33:48 -07:00
John David Pressman
85345387d0
Add tuple tests to CameLIGO
2019-10-29 20:55:36 -07:00
John David Pressman
2ff178543f
Add more operations to CameLIGO set tests
2019-10-29 20:33:18 -07:00
Suzanne Dupéron
3f0b9346a5
More but not enough of the fold. Filled in holes with failwith, need to implement enough that it passes a test.
2019-10-29 20:14:42 -04:00
John David Pressman
c09116211f
Merge branch 'feature/cameligo-negative-op' into 'dev'
...
[LIGO-172] Add negative operator to CameLIGO
See merge request ligolang/ligo!161
2019-10-29 18:12:17 +00:00
John David Pressman
f0f4c683f2
Add more complex negative operator test
2019-10-29 10:07:07 -07:00
John David Pressman
dce98c06ec
Merge branch 'dev' of gitlab.com:ligolang/ligo into feature/cameligo-negative-op
2019-10-29 09:59:37 -07:00
John David Pressman
102ffda7c3
Make negative operator test pass
2019-10-29 09:28:20 -07:00
Lesenechal Remi
a140e12394
add test for nested for collection loops (not supported yet)
2019-10-29 16:32:28 +01:00
Lesenechal Remi
402d849cec
use intermediary tuple access to get key and value for maps. add tests.
2019-10-29 15:43:00 +01:00
Lesenechal Remi
fd901548af
add more tests
2019-10-29 11:57:15 +01:00
Lesenechal Remi
c288f3c81e
simplify the simplifier and now find the free variables with a expression_fold
2019-10-29 11:56:21 +01:00
Lesenechal Remi
e86c92bc3b
improving simplifier
2019-10-29 11:41:59 +01:00
Lesenechal Remi
ba00db2b4c
add self_ast_simplified fold_expression
2019-10-29 10:43:38 +01:00
Suzanne Dupéron
735bd8e668
Implementing subst over the AST
2019-10-29 01:55:53 -04:00
John David Pressman
ec3f836605
Add test for several function parameters in CameLIGO
2019-10-28 22:07:00 -07:00
John David Pressman
c004fd24cd
Add option and boolean match tests to CameLIGO
2019-10-28 22:01:31 -07:00
John David Pressman
f62481fb0a
Add list match test to CameLIGO
2019-10-28 21:38:29 -07:00
Lesenechal Remi
e77f3e4903
empty for collection loop
2019-10-28 20:52:14 +01:00
Lesenechal Remi
37570c6a40
clean test
2019-10-28 20:52:14 +01:00
Lesenechal Remi
2ced2e784e
add doc
2019-10-28 20:52:14 +01:00
Lesenechal Remi
e16eac77a6
fixes for loop on map.
...
Untested because of issue with deep tuple access (LIGO-131 LIGO-134)
An error message is in the simplifier
2019-10-28 20:52:14 +01:00
Lesenechal Remi
1a035f9713
tests for sets
2019-10-28 20:52:14 +01:00
Lesenechal Remi
b71309bfa2
proper error message for deep accesses in loops of collection body
2019-10-28 20:52:14 +01:00
Lesenechal Remi
c7056d200d
merging with dev
2019-10-28 20:52:14 +01:00
Lesenechal Remi
5a77b08aa7
cleaning & documenting
2019-10-28 20:52:14 +01:00
Lesenechal Remi
7eed9b1856
test passing !
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
7f7f19854a
WIP : make test a bit easier
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
6956e8751d
Add hex michelson output, use enums for format options
2019-10-26 12:57:22 -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
b3993d0db9
Add failing negative operator
2019-10-25 17:24:12 -07:00
John David Pressman
8cfa583d55
Add more string tests to CameLIGO
2019-10-25 16:33:31 -07: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
John David Pressman
0eb2b73afa
Add CameLIGO test function utilizing multiple subroutines
2019-10-24 15:27:26 -07:00
John David Pressman
99dfd18dea
Add explanatory comment to annotation.ligo
2019-10-24 14:44:07 -07:00
John David Pressman
790dc6c370
Merge branch 'test/cameligo-boolean-and' into test/cameligo-test-parity
2019-10-24 09:14:12 -07:00
John David Pressman
0bf37a2e21
Fix boolean tests for CameLIGO
2019-10-24 09:13:31 -07:00
Tom Jack
7958508e14
Merge branch 'feature/some-tests' into 'dev'
...
More tests and a few operations
See merge request ligolang/ligo!26
2019-10-24 13:03:39 +00: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
John David Pressman
2aa201553c
Add test for the if conditional in CameLIGO
2019-10-23 20:29:32 -07:00
John David Pressman
ddc5b8e36d
Add failing boolean operator test
2019-10-23 18:29:49 -07:00
John David Pressman
2566ebc7d0
Add arithmetic tests for CameLIGO
2019-10-23 17:53:26 -07: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
Tom Jack
e2ea89cf87
Move tests, remove operators
2019-10-23 09:38:45 -05: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
e6ee915f1e
updating tests (we don't need the big_map to be in a pair anymore)
2019-10-22 12:23:48 +02: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
Lesenechal Remi
5d040220c0
WIP: add test
2019-10-22 12:23:48 +02:00
Lesenechal Remi
23993a4488
clean big_map tests
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
48515b9f3b
Add explanatory comment to string concatenation test
2019-10-21 16:40:40 -07: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
85fe8d2018
using the proper entry point in the test..
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
71548f8c7c
using the proper entry point in the test..
2019-10-18 14:42:36 +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
b60ce38b68
commenting back
2019-10-17 17:33:43 +02:00
Lesenechal Remi
c9bcfc3ab0
higher order function test, pass two closure one calling the other as function arg
2019-10-17 17:33:29 +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
0b8c0dad3f
Add failing deep set removal test to contracts
2019-10-14 18:58:42 -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
John David Pressman
93b5a068b5
Add deep map patch test
2019-10-14 10:19:18 -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