Lesenechal Remi
e834e2ac20
More informative errors when calling michelson typecheck function
2020-01-03 15:25: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
Christian Rinderknecht
c18e6e9748
Handling of EOF in ParserAPI messages.
2020-01-02 15:44:21 +01:00
Lesenechal Remi
46027de719
Proper error with location
2020-01-02 15:21:56 +01:00
Lesenechal Remi
8584bacf83
test & dune promote
2020-01-02 15:21:56 +01:00
Lesenechal Remi
42cbabac69
check ast_simplified address literals to be well formatted
2020-01-02 15:20:48 +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
bddad3f234
add missing GE operator (>=) to cameligo
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
c873350b15
no ppx in expect_tests lib
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
6c7440ea79
inline magic
2019-12-31 14:23:51 +01:00
Lesenechal Remi
61d095ea28
also preprocess the executable
2019-12-31 14:23:51 +01:00
Lesenechal Remi
6f804a4432
exclude parser debug tooling
2019-12-31 14:23:51 +01:00
Lesenechal Remi
e8d1e359f4
exclude PPs from coverage
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
Christian Rinderknecht
ea7460f8c9
Miscellaneous.
2019-12-28 17:58:15 +01:00
Christian Rinderknecht
c92e3b28ad
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev
2019-12-28 17:58:09 +01: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
e1ecb36e61
Have let ... in evaluate right hand side first during multi-bind
2019-12-26 21:06:24 -08:00
Christian Rinderknecht
6814e7786a
Same error formatting for the incremental and monolithic API of Menhir.
2019-12-26 18:57:02 +01:00
Christian Rinderknecht
379311a748
Shortened the parser's API.
...
Unfortunately, even thought all the front-ends use the same
ParserAPI.ml, that file cannot be moved to the folder `shared` due to
a dependency on AST.ml produced by Menhir.
2019-12-26 18:17:57 +01:00
Christian Rinderknecht
548b1267a4
Added .gitignore for all syntaxes.
2019-12-26 14:13:19 +01:00
Christian Rinderknecht
07a70b4648
Added unlexing to ReasonLIGO.
2019-12-26 13:31:54 +01:00
Christian Rinderknecht
ea4eb76013
I added support for unlexing to CameLIGO. Fixed cover.sh.
2019-12-26 13:23:32 +01:00
John David Pressman
2d9de2aef0
Clean up let ... in multi-bind
2019-12-24 15:35:05 -08:00
John David Pressman
48a3bebadd
Working rough draft of let ... in multi-bind
2019-12-24 14:54:22 -08:00
John David Pressman
7454e8b01f
Add let-in multi bind test
2019-12-24 13:48:14 -08:00
Christian Rinderknecht
7c1d637226
Fixing the constant constructors in CameLIGO's simplifier.
2019-12-24 18:56:21 +01:00
Christian Rinderknecht
e99c9b32de
Fixed the [dune] file for building [pascaligo/Unlexer.exe].
2019-12-24 17:35:43 +01:00
Christian Rinderknecht
dadf1fbe41
Fixed the stratification of "++".
2019-12-24 17:01:39 +01:00
Christian Rinderknecht
7b9b6866b2
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev
2019-12-24 14:26:32 +01:00
Christian Rinderknecht
ce857fbe40
Fixed the [dune] files to build ParserMain.exe
2019-12-24 14:25:40 +01:00
Lesenechal Remi
bdd1d09c04
t_operator can not throw exceptions
2019-12-24 12:43:32 +01:00
Christian Rinderknecht
b0e92a58bf
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev
2019-12-24 11:59:34 +01:00
Sander Spies
29c96fb021
Fix 'dune build ParserMain.exe'.
2019-12-24 08:08:50 +01:00
Christian Rinderknecht
e6a9bf6510
Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht-dev
2019-12-23 21:46:21 +01:00
Christian Rinderknecht
24f067b69e
Added nat and bytes to ReasonLIGO and CameLIGO (expressions).
...
Use the correct ParserAPI for ReasonLIGO now.
2019-12-23 20:37:48 +01:00
John David Pressman
1bf04574c1
Merge branch 'dev' into feature/set-delegate
2019-12-20 08:37:01 -08:00
Christian Rinderknecht
705b425589
Merge remote-tracking branch 'origin/dev' into rinderknecht-dev
2019-12-20 16:46:33 +01:00
Christian Rinderknecht
072dea757c
[WIP] Adding the infrastructure for supporting the incremental API of Menhir.
...
* I added CLI option "--mono" to select the monolithic API of Menhir.
* I added a field "win" to the state of the lexer (a two-token
window for error reporting).
* I escaped LIGO strings before making them OCaml strings (for
example for printing).
2019-12-20 16:44:03 +01:00
Lesenechal Remi
638b45611d
fix message of redundant_match_case error
2019-12-20 12:17:47 +00:00
Lesenechal Remi
70977d1f00
improve badly annotated timestamp error
2019-12-20 12:18:36 +01:00
Lesenechal Remi
e18233434d
dune promote
2019-12-20 12:18:36 +01: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
Tom Jack
71e2670572
Fix one hex printing bug
2019-12-19 13:05:30 -06: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
Suzanne Dupéron
e919a1eba3
Fixes unsoundness in old typer (expected type for the expression as a whole was not checked for ascriptions)
2019-12-19 17:27:17 +00:00
Sander
600ae2d4f6
Move to Trace.error instead of simple_error.
2019-12-19 13:50:57 +00:00
Christian Rinderknecht
3add77eba5
Adding the build of the unlexer by dune.
2019-12-18 22:17:49 +00:00
Christian Rinderknecht
d47ec7cf7c
Fixed a tag file (local build of PascaLIGO with my Makefile).
2019-12-18 22:17:49 +00:00
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
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
John David Pressman
5070ded5b9
Add complex path traversal to map patch
2019-10-11 17:26:28 -07:00
John David Pressman
3d053cd073
Refactor map patch so that it uses fewer assignments
2019-10-11 15:44:16 -07:00
Suzanne Dupéron
38f9b0ba0b
tests build (but fail when running, as expected)
2019-10-11 17:22:43 -04:00
Suzanne Dupéron
3bbb8bfd8b
Fixed merge issues with new merge of dev
2019-10-11 17:01:28 -04:00
Suzanne Dupéron
5a58559edc
Merge remote-tracking branch 'origin/dev' into HEAD
2019-10-11 16:59:45 -04:00
Tom Jack
c2a3fd473c
Fix test
2019-10-11 15:27:41 -05:00
Tom Jack
b64f82dff7
Add failing test
2019-10-11 15:24:46 -05:00
John David Pressman
62377135c4
Add empty map patch test
2019-10-11 13:23:29 -07:00
Tom Jack
c5361c57d4
Simplify a bit
2019-10-11 15:10:11 -05:00
Tom Jack
e672d10029
Expose tez mod tez, too
2019-10-11 14:54:22 -05:00
John David Pressman
d947f3b462
Change set patch to chain calls and only use one assignment
2019-10-11 12:38:00 -07:00
Tom Jack
d87d0aab73
Expose tez/tez division
2019-10-11 14:35:23 -05:00
Suzanne Dupéron
9e2c057edb
dune build passes, but not dune build @ligo-test. Threaded the typechecker's state in a bunch of places where it's likely not needed, because I don't know which parts are entrypoints and which parts are intermediate functions, and the role of the state between program fragments is not yet 100% clear to me.
2019-10-11 15:21:28 -04:00
John David Pressman
58b8e537e4
Merge branch 'dev' of gitlab.com:ligolang/ligo into feature/pascaligo-set-patch
2019-10-11 09:02:45 -07:00
Tom Jack
f06161ea42
Merge branch 'feature/dry-run-sender-source' into 'dev'
...
Accept fake values for SENDER/SOURCE in dry-run
See merge request ligolang/ligo!130
2019-10-11 15:09:16 +00:00
Suzanne Dupéron
1356159281
WIP on integrating typer with the bin / CLI, fixed last API change
2019-10-11 04:08:12 -04:00
John David Pressman
49ffe00466
Remove unsupported_map_patch error in PascaLIGO simplifier
2019-10-10 18:35:39 -07:00
John David Pressman
c181ec1cac
Upload rough draft of map patch functionality with test
...
Right now I'm concerned that the way this generates the code is inefficient, in particular this line:
`in ok @@ (access_path, key', value', loc)`
Since the comments [on my code for the set patch](https://gitlab.com/ligolang/ligo/merge_requests/127 )
warned that repeated generation of the access path is a bad idea(?). In any case this does work, so
it's something I can improve on.
2019-10-10 18:26:28 -07:00
John David Pressman
0de17f4b57
Add empty set patches, add test for empty set patches
2019-10-10 13:35:38 -07:00
Suzanne Dupéron
2a39aa2949
Revert "Builds (commented out a few issues, just to check that there are no compilation errors left)"
...
This reverts commit 581babb459
.
2019-10-10 03:55:15 -04:00
Suzanne Dupéron
581babb459
Builds (commented out a few issues, just to check that there are no compilation errors left)
2019-10-10 03:55:08 -04:00
Suzanne Dupéron
acfbd7eb15
Nearly builds, only one small API change and integration errors left
2019-10-10 03:52:43 -04:00
John David Pressman
c82076281f
Add test for set patch functionality
...
Resolves LIGO-127
2019-10-09 23:13:25 -07:00
Suzanne Dupéron
4fa54dd2c1
More progress on merging new typer and new dev
2019-10-10 01:23:55 -04:00
John David Pressman
2f60c85aa8
Add rough draft of set patch functionality
2019-10-09 17:08:58 -07:00
Rémi Lesenechal
dfe6f144bb
Merge branch 'feature/unsupported-deep-map-ops' into 'dev'
...
fix unsupported deep_map assignements and remove. add tests
See merge request ligolang/ligo!125
2019-10-09 19:57:17 +00:00
Tom Jack
e8afba9581
Accept fake values for SENDER/SOURCE in dry-run
2019-10-09 12:08:02 -05:00
Christian Rinderknecht
cbaac2d124
Merge branch 'rinderknecht-dev' into 'dev'
...
Printing of tokens from the AST is now done in a Buffer.t
See merge request ligolang/ligo!128
2019-10-09 16:18:04 +00:00
Christian Rinderknecht
bcf73d01bf
Printing of tokens from the AST is now done in a Buffer.t
2019-10-09 16:07:13 +02:00
Lesenechal Remi
8c29dc6df3
cleaning (using name return by simpl_path which is equivalent)
2019-10-09 11:54:48 +02:00
Lesenechal Remi
54662db2f6
use simpl_projection to build accessor
2019-10-09 11:54:48 +02:00
Lesenechal Remi
d59cd771c9
fix unsupported deep_map assignements and remove. add tests
2019-10-09 11:54:48 +02:00
Suzanne Dupéron
5de98259dc
Trying to merge new typer and new dev
2019-10-09 00:51:29 -04:00
Suzanne Dupéron
a0461d0622
Renamed
2019-10-08 18:46:55 -04:00
John David Pressman
f990dc8a0f
Merge branch 'dev' of gitlab.com:ligolang/ligo into gardening/code-comments
2019-10-08 13:46:25 -07:00
Sander
8dfb2a967f
Merge branch 'feature/pascaligo-remove-simplify' into 'dev'
...
Add test for PascaLIGO remove syntax which appears to work
See merge request ligolang/ligo!126
2019-10-08 19:35:09 +00:00
John David Pressman
88de350264
Add test for PascaLIGO remove syntax which appears to work
2019-10-08 11:54:49 -07:00
Christian Rinderknecht
a4ad62ad16
Merge branch 'rinderknecht-dev' into 'dev'
...
Made big_map a keyword, like map.
See merge request ligolang/ligo!124
2019-10-08 11:37:31 +00:00
Christian Rinderknecht
1362fbae9e
Made big_map a keyword, like map.
2019-10-08 12:24:56 +02:00
John David Pressman
7cf75c54c8
Untested rough draft of pascaligo set removal
2019-10-07 21:41:36 -07:00
Tom Jack
4a5e41faa4
Resolve mli merge conflict
2019-10-07 13:56:48 -05:00
Christian Rinderknecht
6f414a8ad2
Merge branch 'feature/unsupported_ass_None' into 'dev'
...
Feature/unsupported_ass_none
See merge request ligolang/ligo!118
2019-10-07 16:31:19 +00:00
Christian Rinderknecht
9c1be8f3a3
Merge branch 'feature/unsupported-string-catenation' into 'dev'
...
feature/unsupported_string_catenation
See merge request ligolang/ligo!120
2019-10-07 16:30:39 +00:00
Christian Rinderknecht
76b4fa3f47
Merge branch 'rinderknecht-dev' into 'dev'
...
Gardening for Ligodity and update of the documentation of PascaLIGO.
See merge request ligolang/ligo!119
2019-10-07 15:44:36 +00:00
Lesenechal Remi
44767c4b8e
Simplifier now emit CONCAT constant
2019-10-07 17:16:03 +02:00
Tom Jack
36ec771adf
Remove singleton inductive type
2019-10-07 16:54:28 +02:00
Tom Jack
e2c831a231
Simplify more
2019-10-07 16:54:28 +02:00
Tom Jack
1c2c6cbc43
Delete unused NoneExpr
2019-10-07 16:54:28 +02:00
Tom Jack
3a14ef26ef
Simplify?
2019-10-07 16:54:28 +02:00
Lesenechal Remi
3a3cfa341a
cleaning
2019-10-07 16:54:28 +02:00
Lesenechal Remi
08a3e08f57
add a new T_constant in ast_simplified and ast_typed
2019-10-07 16:54:28 +02:00
Lesenechal Remi
1401d03d62
Parser patch from Christian
2019-10-07 16:54:28 +02:00
Christian Rinderknecht
ff9584c7b7
Gardening.
2019-10-07 16:37:33 +02:00
Pierre-Emmanuel Wulfman
59cb210b83
Interface for Ocaml code
2019-10-07 14:18:32 +00:00
John David Pressman
0207d1f88f
Add .mli for SAST pretty printer with minimal comments
2019-10-04 15:33:50 -07:00
Georges Dupéron
0e5c9802ec
More tests with lambdas
2019-10-04 16:47:01 -04:00
Georges Dupéron
606f7ca907
More tests, integration of some of the operators
2019-10-04 16:47:01 -04:00
Georges Dupéron
8c37fe355d
test: contract for mligo version of the example on the website
2019-10-04 16:33:59 -04:00
John David Pressman
fcfbbcb9c1
Delete dead code and add .mli docs to simplify/pascaligo.ml
2019-10-03 15:32:16 -07:00
John David Pressman
c2489fd310
ocamldoc-ify Markup.mli
2019-10-03 14:07:12 -07:00
John David Pressman
30d25ee247
Convert top comment in LexToken.mli to ocamldoc comment
2019-10-03 13:59:53 -07:00
John David Pressman
211d5ea37f
Add explanation of AST relationship to Parser.mly to AST.mli
2019-10-03 13:42:33 -07:00
John David Pressman
51e6c441f2
Add documentation for pascaligo parser interface as .mli
2019-10-03 13:32:43 -07:00
John David Pressman
e3c581ff02
Fix typo in transpiler.ml explanation
2019-10-03 11:47:09 -07:00
John David Pressman
b02c241a01
Add short explanation to transpiler.ml
2019-10-03 11:37:07 -07:00
Lesenechal Remi
c1845c2bfe
Only look at arg.type_value instead of arg.content
2019-10-03 18:35:11 +02:00
Lesenechal Remi
4e333836cb
ignore closure error in subexpression of argument
2019-10-03 15:36:06 +02:00
Lesenechal Remi
962a98da75
emmit a t_function when no variables are captured
2019-10-03 10:21:09 +02:00
Lesenechal Remi
6fbe43d28a
Check for closure when applying a function and update tests
2019-10-02 18:31:15 +02:00
Lesenechal Remi
a7565145d5
add map_expression function in self_mini_c pass helpers
2019-10-02 18:31:15 +02:00
Lesenechal Remi
ae882c39ef
Variable name gardening
2019-10-02 18:31:15 +02:00