Tom Jack
172038cef0
Kill warning 45 by reusing Pervasives.result for Trace
2019-12-18 21:20:35 +00:00
Christian Rinderknecht
c46bf008c8
Adding the build of the unlexer by dune.
2019-12-18 21:32:12 +01:00
Christian Rinderknecht
dfcdc54965
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev
2019-12-18 21:22:38 +01:00
Christian Rinderknecht
64f04b8c40
Fixed a tag file (local build of PascaLIGO with my Makefile).
2019-12-18 16:53:32 +01:00
Lesenechal Remi
be84244d7a
add some CLI tests
2019-12-18 16:47:23 +01:00
Lesenechal Remi
f9fcf1fbc3
Also perform Ast_typed check
2019-12-18 16:47:23 +01:00
Lesenechal Remi
ea343760b2
compile_parameter and compile_storage CLI commands now gets their input checked
2019-12-18 16:47:23 +01:00
Christian Rinderknecht
97a6d7162f
Regression.
2019-12-18 15:50:42 +01:00
Christian Rinderknecht
c7bd986772
Merge remote-tracking branch 'origin/dev' into rinderknecht-dev
2019-12-18 14:22:57 +01:00
Sander Spies
7518005532
Merge branch 'dev' of https://gitlab.com/ligolang/ligo into reasonligo-improvemtns
2019-12-18 09:59:19 +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
Christian Rinderknecht
078dd06132
Merge branch 'rinderknecht-dev' of gitlab.com:ligolang/ligo into rinderknecht-dev
2019-12-17 17:07:10 +01:00
Christian Rinderknecht
7ae8d9340b
Merge remote-tracking branch 'origin/dev' into rinderknecht-dev
2019-12-17 17:04:59 +01:00
Christian Rinderknecht
8210a4e186
Added basic support for Menhir's incremental API.
...
I added the token Bytes to ReasonLIGO's [LexToken.mll] for the build.
2019-12-17 17:03:43 +01:00
Christian Rinderknecht
757b0da78c
Removed the open type [Error.t] (less [assert false]).
...
I also had to remove the keywords [Down], [Fail] and [Step] in
PascaLIGO that made a mysterious and unwanted come back. (I did not
bother with [git blame]).
2019-12-17 15:58:27 +00:00
Christian Rinderknecht
531dd238a7
Added unlexer for PascaLIGO.
2019-12-17 15:58:27 +00:00
Rémi Lesenechal
e6cb4e63c6
Contracts: replaceable ID
2019-12-17 14:18:09 +00:00
Christian Rinderknecht
35d4b64a02
Removed the open type [Error.t] (less [assert false]).
...
I also had to remove the keywords [Down], [Fail] and [Step] in
PascaLIGO that made a mysterious and unwanted come back. (I did not
bother with [git blame]).
2019-12-17 14:56:16 +01:00
Sander Spies
ebba74e7a7
Merge branch 'dev' of https://gitlab.com/ligolang/ligo into reasonligo-improvemtns
2019-12-17 14:34:58 +01: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
Tom Jack
c83813456a
Relocate .opam
2019-12-16 22:50:25 +00: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
52eff4e764
Incorrect function arguments message for ReasonLIGO.
2019-12-16 18:04:15 +01:00
Christian Rinderknecht
257ef4f5d2
Added unlexer for PascaLIGO.
2019-12-16 17:37:46 +01:00
Sander Spies
09875cf1da
Make type_expr_simple less complicated.
2019-12-16 14:54:12 +01:00
Christian Rinderknecht
a94ee53fd3
Finished the refactoring of the parsers.
2019-12-15 20:59:04 +01:00
Christian Rinderknecht
f8d6396fcd
Refactoring of the parsers
...
* [CameLIGO/ReasonLIGO] The AST node [EAnnot] (expressions
annotated by a type) now records the region in the source
code for the colon.
* [CameLIGO/ReasonLIGO/PascaLIGO] I added the syntax
%token <...> TOKEN "lexeme"
* [ReasonLIGO] I changed the AST nodes [Mtz] and [Str] to
[Mutez] and [String], respectively (in accordance with the
PascaLIGO front-end). I changed token [DOTDOTDOT] to
[ELLIPSIS].
* [ReasonLIGO] I added what was missing to make a loca build
with my Makefile.
2019-12-15 17:46:08 +01:00
Christian Rinderknecht
6692643cc5
Streamlined LexerMain and ParserMain for ReasonLIGO.
2019-12-13 17:28:15 +01:00
Christian Rinderknecht
2904a40373
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev
2019-12-13 14:53:33 +01:00
Christian Rinderknecht
e685e313f0
Fixed the build after I made a small error when fixing the latest
...
merge conflict.
2019-12-13 12:30:59 +01:00
Christian Rinderknecht
c7ffa6d563
Merge remote-tracking branch 'origin/dev' into rinderknecht-dev
2019-12-13 12:28:33 +01:00
Christian Rinderknecht
0226b9f23c
Refactoring of comments (for [dune build @doc]).
...
Refactoring of parsing command-line arguments
* The type [options] is now abstract and implemented as an
object type to avoid struggling with scoping and type
inference when record types share some common field names.
Refactoring of ParserLog for PascaLIGO and CameLIGO
* The immediate motivation behind that refactoring was to
remove the use of a couple of global references. A
consequence is that we have a nicer and more compact code, by
threading a state. The files [pascaligo/Tests/pp.ligo] and
[ligodity/Tests/pp.mligo].
* Another consequence is that the choice of making strings from
AST nodes depends on the CLI (offsets? mode?). After this
refactoring, that choice is hardcoded in the simplifiers in a
few places (TODO), waiting for a general solution that would
have all CL options flow through the compiler.
* I removed the use of vendors [x_option.ml], [x_map.ml] and
[x_list.ml] when handling optional values. (Less dependencies
this way.)
Refactoring of the ASTs
* I removed the node [local_decl], which was set to [[]]
already in a previous commit (which removed local
declarations as being redundant, as statements could already
be instructions or declarations).
* I changed [StrLit] to [String] in the AST of CameLIGO and
ReasonLIGO.
* I also changed the type [fun_expr] so now either a block is
present, and therefore followed by the [with] keyword, or it
is not. (Before, the presence of a block was not enforced in
the type with the presence of the keyword.)
Notes
* [LexerMain.ml] and [ParserMain.ml] for CameLIGO and PascaLIGO
are almost identical and differ in the same way (language
name and file extension), which suggests that they should be
in the [shared] folder and instanciated as a functor in the
future (TODO).
* I removed the blank characters at the end of many lines in
the parser of ReasonLIGO.
2019-12-13 12:21:52 +01:00
Tom Jack
611bd0382a
dune runtest ; dune promote
2019-12-13 03:11:51 -06:00
Tom Jack
e914833600
Add --version via dune rule
2019-12-13 08:12:35 +00:00
Sander Spies
6f9134834f
Remove original Cameligo and rename Ligodity to Cameligo.
2019-12-12 14:35:07 +01:00
Lesenechal Remi
1842d50ef1
some Ast_simplified PP improvements
2019-12-12 12:15:18 +01:00
Lesenechal Remi
61fd91a0d4
optional init file
2019-12-12 12:15:18 +01:00
Lesenechal Remi
a80ffae897
add interpret command
2019-12-12 12:15:18 +01:00
Lesenechal Remi
c62f147a01
MR requests
2019-12-12 11:00:04 +01:00
Lesenechal Remi
df0dfb029b
better error message when a contract in invalid
2019-12-11 20:02:54 +01:00
Lesenechal Remi
c0472629b9
application at ast_simplified level
2019-12-11 20:02:54 +01:00
Lesenechal Remi
ebd073f5e2
Separate aggregation case for contract and expression
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
85cffdfc52
remove comented function
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
Lesenechal Remi
46623ceb77
contract are now typecheck (at least in the CLI)
2019-12-10 15:58:53 +01:00
Lesenechal Remi
0cae4302cd
WIP: introduce compiled_expression and unify dry-run and compile-contract
2019-12-10 15:58:53 +01:00
Lesenechal Remi
8edeb27321
add a function to fetch (param,storage) in a contract's lambda
2019-12-10 15:58:53 +01:00
Sander
95a7e19be6
Add ReasonLIGO support
2019-12-10 13:47:31 +00:00
Christian Rinderknecht
04a770e22d
To enable local builds of the PascaLIGO parser.
2019-12-09 15:52:17 +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
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