Commit Graph

386 Commits

Author SHA1 Message Date
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
Suzanne Dupéron
1e06c24325 Merge branch 'dev' of gitlab.com:ligolang/ligo into clean-sts-solver 2019-10-31 17:18:09 -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
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
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
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
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
c7056d200d merging with dev 2019-10-28 20:52:14 +01:00
Lesenechal Remi
7eed9b1856 test passing ! 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
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
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
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
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
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
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