Sander Spies
fbb622cc03
Add support for tuple destructuring in ReasonLIGO
2020-01-20 19:03:00 +01:00
Christian Rinderknecht
673b54e6ae
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev
2020-01-18 11:37:36 +01:00
Lesenechal Remi
600ee51940
running contract or function does not fail on failwiths
2020-01-17 16:35:40 +01:00
John David Pressman
d6000be369
Add ReasonLIGO CHECK_SIGNATURE test to suite
2020-01-17 01:57:07 -08:00
John David Pressman
eea8e30e87
Add CameLIGO CHECK_SIGNATURE test to suite
2020-01-17 01:53:22 -08:00
John David Pressman
eb4336b0e7
Add PascaLIGO CHECK_SIGNATURE test to suite
2020-01-17 01:50:06 -08:00
John David Pressman
4835ac4d10
Split e_bytes into e_bytes_hex, e_bytes_raw and e_bytes_string
2020-01-16 22:46:28 -08:00
John David Pressman
411c17eb99
Add ReasonLIGO version of key_hash test
2020-01-16 21:45:40 -08:00
John David Pressman
4fcfa3df8f
Add CameLIGO key_hash test
2020-01-16 21:37:29 -08:00
John David Pressman
4ee3a29a34
Enable CameLIGO bytes_unpack test and add one for ReasonLIGO
2020-01-16 20:59:26 -08:00
John David Pressman
ca1caf2e61
Add bytes_unpack test for CameLIGO
2020-01-16 20:27:50 -08:00
Sander
88159e15b2
Add inline attribute
2020-01-16 19:36:04 +00:00
Christian Rinderknecht
c5b5ffe51a
Merge remote-tracking branch 'origin/dev' into rinderknecht-dev
2020-01-14 12:59:32 +01:00
Christian Rinderknecht
9570caac53
Refactoring to bring local builds of the parsers closer to the global build.
...
Added --expr to parse expressions.
2020-01-14 01:27:35 +01:00
Pierre-Emmanuel Wulfman
bbfcc9839b
Updates for ReasonLIGO
2020-01-10 18:00:23 +01:00
Pierre-Emmanuel Wulfman
98d6aea4e1
mr review 2
2020-01-10 17:28:45 +01:00
Pierre-Emmanuel Wulfman
60edd0cf5b
after review 1
2020-01-10 16:41:47 +01:00
Pierre-Emmanuel Wulfman
812834656a
Updates for OcamLIGO and PascaLIGO
2020-01-10 13:52:05 +01:00
Christian Rinderknecht
8a683e1a69
Merge branch 'feature/literal-bytes-again' into 'dev'
...
Fix literal bytes
See merge request ligolang/ligo!325
2020-01-10 10:35:04 +00:00
Suzanne Dupéron
1863cf324b
Improve error messages in ast_typed/combinators.ml
2020-01-09 23:13:14 +00:00
Tom Jack
1b0ed4d4de
Fix literal bytes
2020-01-09 16:53:07 -06:00
Lesenechal Remi
20c9de0380
parset negative tests for all syntaxes
2020-01-09 22:19:40 +01:00
Lesenechal Remi
47199ca13c
add negative tests rules
2020-01-09 22:19:40 +01:00
Christian Rinderknecht
0791866a63
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev
2020-01-09 20:59:22 +01:00
Christian Rinderknecht
19e2ffb750
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev
2020-01-09 19:49:57 +01:00
Suzanne Dupéron
75e6344972
Move the last two negative tests to a subdirectory, actually check that they fail in the expected way
2020-01-09 17:19:00 +00:00
Tom Jack
10eebf69bd
Support always-failing conditionals
2020-01-09 09:47:54 -06:00
Christian Rinderknecht
c347d1b08b
Removed temporary Emacs file.
2020-01-09 15:55:58 +01:00
Christian Rinderknecht
9426222d86
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev
2020-01-09 14:27:17 +01:00
Christian Rinderknecht
d123abd46f
Added new error for duplicated record fields.
...
Removed interface for the AST (for maintenance sake).
2020-01-09 14:26:47 +01:00
Lesenechal Remi
af5c32cb98
checking .md file arguments
2020-01-09 10:33:44 +01:00
John David Pressman
71989876db
Fix a bug, test added:
...
A never accounted message was not adding anything to the map
2020-01-08 20:58:26 +00:00
Christian Rinderknecht
8bdc103ec8
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev
2020-01-08 16:46:59 +01:00
Christian Rinderknecht
9e7c97637c
Added support for language-specific parse errors for PascaLIGO:
...
* Duplicate variants in the same type declaration
* Duplicate parameter in the same function declaration
* Shadowing of predefined value in a declaration
I fixed the architecture for that support: ParserMain.ml is now where
those specific errors are handled, and they are produced by the
semantic actions of the parsers.
2020-01-08 16:39:52 +01:00
Sander
8dd936ab90
Test lexer error messages.
2020-01-07 20:35:04 +00:00
Lesenechal Remi
2667ed62b3
fix indent (unrelated)
2020-01-06 22:29:07 +01:00
Lesenechal Remi
8ce4772ae4
add tests
2020-01-06 18:51:43 +01:00
Lesenechal Remi
0a676d72a5
add --predecessor-timestamp to compile-storage/parameter
2020-01-03 18:11:44 +01:00
Lesenechal Remi
1a2a29bc03
negative timestamp literal test
2020-01-03 18:11:37 +01:00
Sander
ce6ccab728
Add support for empty constructors.
2020-01-03 13:01:13 +00:00
Lesenechal Remi
e25c5bac35
adding loops.md to the list of tested file and fixed "loops.md"
2020-01-02 20:38:45 +01:00
John David Pressman
7c4f59035f
Add inclusion directive docs and inclusion tests for CameLIGO and ReasonLIGO
2020-01-02 16:11:03 +00:00
Lesenechal Remi
2d7c3eb216
support bytes_unpack operator in pascaligo + tests
2020-01-02 16:19:21 +01:00
Lesenechal Remi
8584bacf83
test & dune promote
2020-01-02 15:21:56 +01:00
Lesenechal Remi
98ac18ccef
propagate failwith strings (also support for others) in the error
2020-01-02 12:50:45 +01:00
Lesenechal Remi
d0ea94b472
'dune runtest' also execute 'md files tests'
2019-12-31 14:23:51 +01:00
Lesenechal Remi
c171ce7ad9
fully tested md_files
2019-12-31 14:23:51 +01:00
Lesenechal Remi
afa61e5825
Now have an default group "ungrouped" for all the code blocks without any "group=..."
2019-12-31 14:23:51 +01:00
Lesenechal Remi
08471ba246
basic architecture for the doc tests
2019-12-31 14:23:51 +01:00
Lesenechal Remi
acee34985b
remove ppx in tests
2019-12-31 14:23:51 +01:00
Lesenechal Remi
c8339ed2ef
first try
2019-12-31 14:23:51 +01:00
John David Pressman
dcfc8d6391
Horrible hack to rewrite CST for tuple param destruct,
...
Fails because Let In doesn't support multi-bind
2019-12-29 01:24:22 +00:00
John David Pressman
3d9489530a
Merge branch 'dev' into feature/cameligo-multi-bind-let-in
2019-12-27 09:29:30 -08:00
John David Pressman
2d9de2aef0
Clean up let ... in multi-bind
2019-12-24 15:35:05 -08:00
John David Pressman
7454e8b01f
Add let-in multi bind test
2019-12-24 13:48:14 -08:00
Lesenechal Remi
bdd1d09c04
t_operator can not throw exceptions
2019-12-24 12:43:32 +01:00
John David Pressman
1bf04574c1
Merge branch 'dev' into feature/set-delegate
2019-12-20 08:37:01 -08:00
Lesenechal Remi
2086dd9ab5
add predecessor timestamp to the CLI
2019-12-20 12:18:36 +01:00
Lesenechal Remi
e8c8aa4d2b
Time lock : contract + tests
2019-12-20 12:18:36 +01:00
Suzanne Dupéron
e5acdc4228
All typer errors in ast_typed/misc.ml are covered it seems.
2019-12-19 17:27:17 +00:00
Suzanne Dupéron
f7616b7b49
Small improvements to negative typer tests
2019-12-19 17:27:17 +00:00
Suzanne Dupéron
f9daa64aa7
Moved negative tests to a negative/ folder
2019-12-19 17:27:17 +00:00
Suzanne Dupéron
a835bc9286
Added "did you mean" feature for unbound type names
2019-12-19 17:27:17 +00:00
Suzanne Dupéron
2a11c6d180
test for typer error message: different keys
2019-12-19 17:27:17 +00:00
Tom Jack
172038cef0
Kill warning 45 by reusing Pervasives.result for Trace
2019-12-18 21:20:35 +00:00
Lesenechal Remi
f9fcf1fbc3
Also perform Ast_typed check
2019-12-18 16:47:23 +01:00
John David Pressman
310dde6dc9
[LIGO-286] Tuple destructuring doesn't do left hand type inference in CameLIGO
2019-12-17 21:04:53 +00:00
John David Pressman
7067644b1d
Merge branch 'dev' into feature/set-delegate
2019-12-17 12:17:02 -08:00
Suzanne Dupéron
1bf3d8f02a
First negative tests for the old typer & improvement of error messages
2019-12-17 18:18:49 +00:00
John David Pressman
a4b1c9951d
Add ReasonLIGO and CameLIGO tests for SET_DELEGATE
2019-12-17 09:50:47 -08:00
John David Pressman
fdeb95288d
Passing SET_DELEGATE test for PascaLIGO
2019-12-17 09:34:05 -08:00
Rémi Lesenechal
e6cb4e63c6
Contracts: replaceable ID
2019-12-17 14:18:09 +00:00
Lesenechal Remi
ffb225e269
fix address arity and update test
2019-12-17 11:10:29 +01:00
John David Pressman
20285f2b9e
Add broken set_delegate test to LIGO, get to typer error
2019-12-16 16:26:39 -08:00
John David Pressman
fb8fae05d7
Fix IMPLICIT_ACCOUNT, again and this time add regression expect test
2019-12-16 12:10:31 -08:00
Sander Spies
6f9134834f
Remove original Cameligo and rename Ligodity to Cameligo.
2019-12-12 14:35:07 +01:00
Lesenechal Remi
c0472629b9
application at ast_simplified level
2019-12-11 20:02:54 +01:00
Lesenechal Remi
9d83159e89
merge with dev
2019-12-10 16:01:26 +01:00
Lesenechal Remi
5ac25bfe21
easy to interpret expressions. evaluate-value does the job. CLI refactoring might be necessary
2019-12-10 15:58:53 +01:00
Lesenechal Remi
1c346ead28
remove useless code in test helper
2019-12-10 15:58:53 +01:00
Lesenechal Remi
16fc55482d
Remove wrapper. Flatten everything for now.
...
Now have a run function for contracts and a run function for everything else.
Run function for contract is only used in CLI dry-run
2019-12-10 15:58:53 +01:00
Lesenechal Remi
bbf6b7b860
sséssaoupa?
2019-12-10 15:58:53 +01:00
Lesenechal Remi
974fa6432b
Revert "unify a little more"
2019-12-10 15:58:53 +01:00
Lesenechal Remi
255b9a6e00
type compile_main function in contracts tests
2019-12-10 15:58:53 +01:00
Lesenechal Remi
6ed2f2b3ae
unify a little more
2019-12-10 15:58:53 +01:00
Lesenechal Remi
26f26171e6
Tests clean
2019-12-10 15:58:53 +01:00
Lesenechal Remi
d1f6c37f62
CLI clean
2019-12-10 15:58:53 +01:00
Sander
95a7e19be6
Add ReasonLIGO support
2019-12-10 13:47:31 +00:00
John David Pressman
f043135df1
Add Michelson map membership to CameLIGO and PascaLIGO
2019-12-06 09:35:08 -08:00
Pierre-Emmanuel Wulfman
034c92a64c
Use ADT for types and move type to ast_common
...
and Making name, type_variable, built-in, constructor, label and string uncompatible types in ligo (weird bug with types in ligodity)
2019-12-04 11:40:58 +00:00
John David Pressman
6a4d58d467
Overkill the tuple ordering bug
2019-12-03 11:10:53 -08:00
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
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
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
Lesenechal Remi
c1c551e33f
fix and more tests
2019-11-26 18:08:53 +01: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
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
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
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
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
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
683bc0a72b
fix problems with nested for collection loop
2019-11-15 20:05:35 +01:00
galfour
d0efbd9f92
add and test more ways to do function application in pascaligo
2019-11-14 20:13:15 +01: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
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
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
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