Commit Graph

1528 Commits

Author SHA1 Message Date
Christian Rinderknecht
0aa69ed35b Fixed last commit (renaming of TStringLiteral, adding --pretty) 2020-05-03 10:40:11 +02:00
Lesenechal Remi
8fdf9a8b95 fix weird bug in matching cases 2020-05-02 15:41:50 +02:00
Lesenechal Remi
0a44a22cac 'michelson_or_right_comb' and 'michelson_or_left_comb' type operators 2020-05-02 15:41:02 +02:00
Lesenechal Remi
8e3230bf29 'Layout.convert_to_right_comb' and 'Layout.convert_to_left_comb' for sum types 2020-05-02 15:38:58 +02:00
Lesenechal Remi
b54bcb8db7 rename 'michelson_right/left_comb' to 'michelson_pair_right/left_comb' 2020-05-02 15:38:58 +02:00
Lesenechal Remi
fb2f3e89e7 replace field name 'decl_position' by 'field_decl_pos' 2020-05-02 15:35:50 +02:00
Lesenechal Remi
1f6bc4fc6b convert_from for pairs/record 2020-05-02 15:35:50 +02:00
Lesenechal Remi
9d200a1b56 michelson_right_comb and michelson_left_comb type operators 2020-05-02 15:35:50 +02:00
Lesenechal Remi
3333742037 Converters for michelson types 2020-05-02 15:30:10 +02:00
Christian Rinderknecht
f4b9261104 Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@pprint 2020-05-01 20:34:34 +02:00
Christian Rinderknecht
2667c10990 * Renamed [TStringLiteral] as [TString].
* LexToken.mll for CameLIGO: Fixed printing of "Str"
    into "String".
  * Added CLI option --pretty to call the pretty-printer from
    ParserMain.
  * Use the package Terminal_size to try to determine the width
    of the terminal where the source is pretty-printed.
2020-05-01 20:32:48 +02:00
Pierre-Emmanuel Wulfman
716751553e add cameligo contract 2020-04-30 18:52:32 +02:00
Christian Rinderknecht
82b3d634c1 Merge branch 'parser-promote-generated-error-files' into 'dev'
Promote generated error files by dune.

See merge request ligolang/ligo!427
2020-04-30 09:48:23 +00:00
Pierre-Emmanuel Wulfman
62f97e2f7f replace type_value by type_expresion end expression' by
expression_content for conformity
2020-04-30 11:22:56 +02:00
Pierre-Emmanuel Wulfman
8d59389f7d review 2020-04-30 09:39:49 +02:00
Pierre-Emmanuel Wulfman
2c62f9d32e remove match_bool from the ast 2020-04-30 09:39:49 +02:00
Suzanne Dupéron
2372f30ed3 ADT generator: promote until-clean 2020-04-29 21:36:55 +01:00
Suzanne Dupéron
057bd19ca7 Add a reason string explaining why constraints are added by the typer 2020-04-29 21:36:50 +01:00
Suzanne Dupéron
4587862da7 Fix in new typer: propagator for break_ctor was too permissive 2020-04-29 21:33:07 +01:00
Suzanne Dupéron
cf492f03cb Solve T_arrow vs. TC_arrow bug by removing TC_arrow 2020-04-29 21:33:07 +01:00
Suzanne Dupéron
9b1e66622a Functor for applying a fold over any ADT node (e.g. generate all print
functions in one go)
2020-04-29 21:33:07 +01:00
Suzanne Dupéron
94b9404d1b Union-Find: function to extract the list of partitions 2020-04-29 21:33:07 +01:00
Suzanne Dupéron
dfb82aa479 improve printer: constructors with no arguments 2020-04-29 21:33:07 +01:00
Suzanne Dupéron
40474dcc68 printer: use boxes 2020-04-29 21:33:07 +01:00
Suzanne Dupéron
c8f3bb4f04 improve printer: Var name 2020-04-29 21:33:07 +01:00
Suzanne Dupéron
164a32a9b2 ADT generator: missing dependency 2020-04-29 21:33:07 +01:00
Suzanne Dupéron
0580f21896 moved core and solver types to the AST, removed functor hell (Map, Set, UnionFind) 2020-04-29 21:32:50 +01:00
Suzanne Dupéron
12cbc9ca07 Prepare ADT generator for new error monad 2020-04-29 21:07:40 +01:00
Suzanne Dupéron
a0b450a34d Merge branch 'balsoft/nix' into 'dev'
Add nix as a build system

See merge request ligolang/ligo!535
2020-04-29 20:05:07 +00:00
edb3fce642 Add nix as a build system
* Dynamically linked executables (ligo-bin)
* Statically linked executables (ligo-static)
* Docker (ligo-docker)
* deb package (ligo-deb)
* webide (ligo-editor)
* webide docker (ligo-editor-docker)
* website (ligo-website)
2020-04-29 19:40:04 +01:00
Pierre-Emmanuel Wulfman
e467642f14 review 2020-04-29 19:31:38 +02:00
Pierre-Emmanuel Wulfman
92d741f5f8 Add bool in default environment 2020-04-29 19:31:37 +02:00
Pierre-Emmanuel Wulfman
7bcf706fcc wip 2020-04-29 19:27:17 +02:00
Christian Rinderknecht
6ce6ebfec3 Simplified the interface of the lexer by not exporting the scanner
[init] (which reads the BOM, if any).
2020-04-28 21:17:34 +02:00
Christian Rinderknecht
de7864a500 Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@michelson 2020-04-28 19:26:39 +02:00
Christian Rinderknecht
005b7fd69b Finished refactoring of lexer. 2020-04-28 19:26:31 +02:00
Pierre-Emmanuel Wulfman
5c61bfaa95 Merge branch 'fix/arbitrary_procesion_for_numerals' into 'dev'
Arbitrary Precission for numerals in Ligo

See merge request ligolang/ligo!594
2020-04-28 15:12:38 +00:00
Tom Jack
56fe3b6021 Don't dip for the second var either 2020-04-28 12:00:54 +02:00
Tom Jack
94c35e15dd Don't dip for vars after the second 2020-04-28 12:00:08 +02:00
Tom Jack
b05e7ef613 Less dippy fold 2020-04-28 11:59:32 +02:00
Tom Jack
710f1699a6 Less dippy constants 2020-04-28 11:58:47 +02:00
Tom Jack
0895467f74 Less dippy application 2020-04-28 11:57:47 +02:00
Pierre-Emmanuel Wulfman
6b00a60986 done 2020-04-27 16:41:24 +02:00
Christian Rinderknecht
9618a48848 Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@michelson 2020-04-25 20:51:33 +02:00
Christian Rinderknecht
f3777b4af8 The preprocessor library depends now on the kinds of comments
instead of a closed set of languages. I also removed the offsets:
I simply use the current region to determine whether the
preprocessing directie starts at the beginning of a line. I also
removed scanning line indicators, to make the lexer simpler.

LexToken.mll: Moved the function [check_right_context] that
checks stylistic constraints from Lexer.mll to
LexToken.mll. While this triplicates code (as CameLIGO, PascaLIGO
and ReasonLIGO share the same constraints), the benefit is that
Lexer.mll becomes more generic and the signature for the TOKEN
module is simpler (no more exporting predicates, except for
EOF). In accordance with the change of the preprocessor, the
lexers and parsers for LIGO now depend on the kind of comments,
not a fixed set of syntaxes. This gives more versatility when
adding a new language: only the kinds of its comments are needed,
although Lexer.mll and Preproc.mll may have to be modified if
they do not already know the comment delimiters, for example line
comments starting with #.

****************************************************************
BUG: The exceptions coming from LexToken.mll when a stylistic
constraint is broken in [LexToken.check_right_context] are not
caught yet.
****************************************************************

Lexer.mll: I moved out as much as I could from the header into a
new module LexerLib. The aim is to make it easy to reuse as much
as possible of the lexer machinerie, when it cannot be used as
is.
2020-04-24 21:06:18 +02:00
Pierre-Emmanuel Wulfman
8dfc8a0469 reorder generated variable in for_each 2020-04-23 18:01:07 +02:00
Pierre-Emmanuel Wulfman
30f2581f8b done 2020-04-23 17:53:10 +02:00
Pierre-Emmanuel Wulfman
ca3549bdee Merge branch 'optim/nested_record_update' into 'dev'
Optimize transpilation of nested record update

See merge request ligolang/ligo!510
2020-04-23 10:01:47 +00:00
Christian Rinderknecht
0e452ffbf1 Merge branch 'small-reasonligo-record-punning-improvement' into 'dev'
Make it possible to pun the first argument of a record.

See merge request ligolang/ligo!570
2020-04-22 17:13:01 +00:00
Tom Jack
c58e3220a7 fix bad sed 2020-04-22 12:04:21 -05:00
Tom Jack
b47b5b1c37 s/expression_eq/equal_variables/ to match the behavior 2020-04-22 11:44:57 -05:00
Pierre-Emmanuel Wulfman
2a8edb53da reduce expression_eq to equal variable 2020-04-22 11:42:53 -05:00
Pierre-Emmanuel Wulfman
1cbadbc7cf add expression_eq in ast_typed 2020-04-22 11:42:52 -05:00
Pierre-Emmanuel Wulfman
79f2df2314 optim for record 2020-04-22 11:41:33 -05:00
Tom Jack
1fbbc09313 promote (until-clean) (only *) ? 2020-04-22 11:38:40 -05:00
Pierre-Emmanuel Wulfman
3cb72f8ec2 add test 2020-04-22 15:05:33 +02:00
Pierre-Emmanuel Wulfman
c46210b656 fix order 2020-04-22 15:04:12 +02:00
Sander Spies
eafbe83151 Also promote ParErr.ml 2020-04-22 11:50:46 +02:00
Sander Spies
bd8cf09f9e Promote generated error files by dune. 2020-04-22 11:50:46 +02:00
Tom Jack
f67bd010c4 Treat transaction environment operators as impure 2020-04-22 10:30:57 +02:00
Pierre-Emmanuel Wulfman
54dadc33d6 move Var.reset_counter () to run_ligo 2020-04-21 18:06:19 +02:00
Pierre-Emmanuel Wulfman
0bf6d09e85 reset Var counter at the begening of cli run 2020-04-21 18:06:17 +02:00
Tom Jack
8066e4df26 Allow to failwith an int (or nat) 2020-04-21 15:35:41 +00:00
Tom Jack
5df005f4b7 Add print-mini-c --optimize=entrypoint to print optimized mini_c 2020-04-21 13:28:39 +00:00
Lesenechal Remi
5323475097 empty string singleton is not annotated anymore 2020-04-20 20:21:49 +02:00
Pierre-Emmanuel Wulfman
173a0c4031 Replace function that returns result by function that returns option 2020-04-20 17:39:36 +02:00
Lesenechal Remi
5622b52a36 updating tests 2020-04-19 15:20:02 +02:00
Lesenechal Remi
5bed9dadef WIP: michelson_pair 2020-04-19 15:18:46 +02:00
Lesenechal Remi
e94f445a51 michelson_or custom layout and annotations 2020-04-19 15:18:46 +02:00
Lesenechal Remi
5d35aaec58 add fold for ast_core 2020-04-19 15:18:46 +02:00
Tom Jack
f2a23029bd Always inline variable-for-variable lets in Self_mini_c 2020-04-16 14:18:35 -05:00
Tom Jack
6acf91a3f2 Perform basic eta contraction in Self_mini_c 2020-04-16 14:17:30 -05:00
Suzanne Dupéron
8848226b85 Merge branch 'bugfix-url-errors' into 'dev'
Fix link to docs in error message, closes LIGO-547

Closes LIGO-547

See merge request ligolang/ligo!573
2020-04-15 17:22:32 +00:00
Pierre-Emmanuel Wulfman
7a18cbd8fc Merge branch 'srcloc_for_types' into 'dev'
Add srcloc for Types

See merge request ligolang/ligo!562
2020-04-15 16:41:27 +00:00
Suzanne Dupéron
f547caa80f Fix link to docs in error message, closes LIGO-547 2020-04-15 18:04:43 +02:00
Pierre-Emmanuel Wulfman
7c29b075bb add srcloc for types 2020-04-15 17:38:42 +02:00
Sander Spies
2a24290ed0 Fix error messages. 2020-04-15 17:25:32 +02:00
Pierre-Emmanuel Wulfman
9796cd2e8f for loop have a optional step parameter 2020-04-15 17:25:31 +02:00
Sander Spies
990ae0e3a8 Make it possible to pun the first argument of a record. 2020-04-14 21:15:12 +02:00
Suzanne Dupéron
b7c3e77c82 Remove trailing whitespace while parsing in ADT generator 2020-04-14 17:11:50 +02:00
Sander Spies
422623ce1e Fix build. 2020-04-14 13:13:07 +02:00
Sander Spies
3e447c40b7 Merge 2020-04-14 13:11:44 +02:00
Suzanne Dupéron
741bfcf9b4 Merge branch 'feature/new-typer-rough-cleanup' into 'dev'
Rough cleanup of the new typer

See merge request ligolang/ligo!561
2020-04-14 11:10:26 +00:00
Christian Rinderknecht
f8c16e5764 Merge branch 'reasonligo-record-improvement' into 'dev'
Add support for record expressions of only one field.

See merge request ligolang/ligo!553
2020-04-14 11:01:11 +00:00
Christian Rinderknecht
5f4c5299d8 Merge branch 'more-api' into 'dev'
More api documentation improvements

See merge request ligolang/ligo!548
2020-04-14 10:53:11 +00:00
Sander Spies
2b82a74d93 Merge 2020-04-14 10:32:12 +02:00
Suzanne Dupéron
9e21123de0 Generic PP: use PPF, split test for parentheses to separate fold 2020-04-13 23:10:01 +02:00
Suzanne Dupéron
22fce03844 Improve a typer print 2020-04-13 23:10:01 +02:00
Suzanne Dupéron
1f0ab67baa Moved new typer's wrap module to a separate file 2020-04-13 23:10:01 +02:00
Suzanne Dupéron
93063d8c70 More cleanup new of the typer 2020-04-13 23:10:01 +02:00
Suzanne Dupéron
1b710bd952 Very rough cleanup new of the typer 2020-04-13 23:10:01 +02:00
Suzanne Dupéron
e001154714 with_xxx shorthands for fold configurations 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
b536d3f591 Remove early Perl 5 and Python versions of the ADT generator 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
ded76b41d6 Adt generator: split structure into smaller structures; use the monad; reordered function, state and value arguments to match the order of List.fold_left. 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
1e1728e5dd [WIP, does not build] Remove some polymorphism : customized visitors must be specific to their accumulator type 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
642c947ee4 [WIP, does not build] adt_generator move polymorphism into the fields, start getting rid of the large let rec 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
253da1e9f5 Break down the large fold_config structure into smaller structures 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
2991e48ce6 Implemented folds for the collections (lists and maps) 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
9639c2f775 WIP on making the AST compatibile with the ADT generator 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
ba9441a134 moved adt_generator tests to a separate folder 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
9d25773d61 Records in ast_typed for match_variant and declaration_constant 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
fcbcea9382 Turned some of the mathcing_content tuples into records 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
79593e6f3e Turned some of the tuples into records 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
58fc08b6a7 ADT generator: add support for open and include 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
516a3a85ff Inlined stage common in ast_typed (fix OCaml type errors) 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
b3b8fab26d [does not build] Inlined stage common in ast_typed 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
08aefa4580 Use unique field names in generic.ml and re-enable warning 30 there 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
12aec6edd0 Generic fold example: OCaml printer for an arbitrary ADT 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
a49f0806c0 ADT generator: produce info for metaprogramming 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
be38b5269c ADT generator: Stop promoting the generated file, because it breaks the build on the CI (why?) 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
ab8274eae2 Install perl6 instead of the painful-to-install python3+fstrings 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
20a51381bc ADT generator: Parser for OCaml ADTs, WIP on adding info 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
e92ba202cf Added Perl 5 and Raku (A.K.A. Perl 6) translations of the ADT generator. Their outputs are identical. 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
6585ce3a09 Install future-fstrings to get f-strings in Python 3.5 and earlier. 2020-04-13 19:23:12 +02:00
Suzanne Dupéron
2cbc8bbf0c Revert "Revert "Merge branch 'feature/adt-generator-poly-3' into 'dev'""
This reverts commit 8b83e375bd.
2020-04-13 19:23:12 +02:00
Christian Rinderknecht
1ccf6f247d Fixed format of syntax error messages. 2020-04-13 16:31:56 +02:00
Christian Rinderknecht
ffb3d05864 Changed a bit how syntax error messages are formulated.
Resolved a warning.
2020-04-13 14:19:56 +02:00
Christian Rinderknecht
af48efe195 Fix by Sander. 2020-04-13 14:03:30 +02:00
Christian Rinderknecht
f7b0c4fe6b Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@preproc 2020-04-13 14:01:41 +02:00
Sander Spies
d9148699cc Fix contract tests 2020-04-13 13:58:58 +02:00
Sander Spies
6a6c8468a6 Remove annotations from michelson or. 2020-04-13 10:59:36 +02:00
Sander Spies
42b05c0437 Test tuples without annotations. 2020-04-13 10:31:09 +02:00
Sander Spies
a4a8e9d2bc Remove tuple annotation. 2020-04-13 10:24:40 +02:00
Christian Rinderknecht
b23b2d1dbb Plugged the preprocessor into the compiler's CLI. 2020-04-12 15:26:47 +02:00
Sander Spies
6f0fb02bf6 Ensure that the right error is called when using the wild pattern incorrectly. 2020-04-12 14:57:39 +02:00
Christian Rinderknecht
3ed303f60d In EvalOpt modules, the CLI input ["-"] is becomes now [None],
like the absence of an input filename. (This simplifies all the
clients codes.) Fixed the dune file for the preprocessor. Fixed
the build of PreprocMain.exe and PreprocMain.byte. Restricted
preprocessing errors [Preproc.Newline_in_string] and
[Preproc.Open_string] to the argument of the #include
directive (instead of general strings: this is for the LIGO lexer
to report the error). I removed the error [Preproc.Open_comment]
as this is for the LIGO lexer to report. The preprocessor scanner
[Preproc.lex] does not take a parameter [is_file:bool] now: the
source file (if any) is determined from the lexing
buffer. Accordingly, the field [is_file] of the state of the
preprocessing lexer has been removed: the lexing buffer becomes
now the reference for the input source (bug fix and interface
improvement). Fixed the comments of the test contract
pledge.religo. I removed the data constructor [Lexer.Stdin], as
redundant with [Lexer.Channel].
2020-04-09 16:18:26 +02:00
Christian Rinderknecht
46eecb4027 Marked the errors that should be skipped (because catched by the
LIGO lexer later). Added field [is_file] to the state of the
lexer to know if the input is a file or not (insert or not a
first line directive). Fixed ReasonLIGO comments in
entrypoints-contracts.md and website2.religo. WIP on the LIGO
lexer to properly handle comments for all the syntaxes.
2020-04-08 20:24:34 +02:00
Christian Rinderknecht
79967be726 Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@preproc 2020-04-08 17:40:13 +02:00
Lesenechal Remi
f9d1928d8e michelson_or tests and changelog 2020-04-07 21:38:12 +02:00
Lesenechal Remi
be5ad35fb9 Force annotation for michelson_or 2020-04-07 21:36:59 +02:00
Lesenechal Remi
4af42cb1bd michelson_or types are transformed into variant types 2020-04-07 21:36:59 +02:00
Christian Rinderknecht
951348feb9 Deletion of Parser.msg 2020-04-07 19:56:52 +02:00
Christian Rinderknecht
53223e9d8e Cosmetics. 2020-04-07 18:57:43 +02:00
Christian Rinderknecht
a343989a6b Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@preproc 2020-04-07 18:57:10 +02:00
Christian Rinderknecht
c0ee726fb2 Simple_utils is now used as a library by the local builds.
Preprocessor is now a library installed by opam.
Replaced ligolang@gmail.com by contact@ligolang.org in opam files.
Reformatted some opam files.
Removed #line directive from preprocessor.
Added to the interface of ParserUnit.
Script messages.sh now checks the identity of .msg and .msg.old
to avoid undue warning about possibly different LR items.
2020-04-07 18:33:46 +02:00
Pierre-Emmanuel Wulfman
79540f9a40 ediv implemented and tested; parser gives error 2020-04-06 18:23:26 +02:00
Sander Spies
38edf5ce74 Add support for record expressions of only one field. 2020-04-06 16:09:38 +02:00
Christian Rinderknecht
1941f9ae4b Shared more code in ParserUnit.ml
Rewrite of the integration of the preprocessor.
Compiles bt DOES NOT PASS THE CI.
2020-04-03 19:08:14 +02:00
Christian Rinderknecht
6c1a1f91e2 Removed error "Invalid directive" as PascaLIGO has the operator #. 2020-04-03 19:06:35 +02:00
Pierre-Emmanuel Wulfman
b41a59d2cf ast-imperative 2020-04-03 17:40:35 +02:00
Pierre-Emmanuel Wulfman
1f118f7233 ast-sugar 2020-04-03 17:40:35 +02:00
Pierre-Emmanuel Wulfman
bc7df6a5b4 ast_core 2020-04-03 17:40:35 +02:00
Sander Spies
d0ccaabf3e Documentation 2020-04-03 14:58:20 +02:00
Sander
cbf2c7680e Merge branch 'wild-args-reasonligo' into 'dev'
ReasonLIGO: Add support for _ as an argument

See merge request ligolang/ligo!527
2020-04-02 11:57:32 +00:00
Christian Rinderknecht
2e528e3e49 Merge branch 'toplevel-doc' into 'dev'
Add toplevel page for API reference.

See merge request ligolang/ligo!543
2020-04-02 11:36:24 +00:00
Sander Spies
a7d4f6691b Forgot a word. 2020-04-02 13:02:44 +02:00
Sander Spies
d0094addd2 Add markdown files to md_file_tests 2020-04-02 12:40:55 +02:00
Sander Spies
951235d105 Merge 2020-04-02 10:31:52 +02:00
Tom Jack
6fed8998bb Somewhat better PP for ast_core and mini_c 2020-04-01 14:32:52 -05:00
Christian Rinderknecht
f5e0dad979 Added # line directive at the start to recover the file name. Continued integration. 2020-04-01 19:22:46 +02:00
Sander Spies
86de9d27e7 Add errors for properly handling let x = _ cases. 2020-04-01 18:08:31 +02:00
Sander Spies
ec7c6e8ad9 Error message shows up again. 2020-04-01 16:34:36 +02:00
Sander Spies
c764f89881 Merge 2020-04-01 15:50:59 +02:00
Pierre-Emmanuel Wulfman
9dc7e7fcb9 Add E_cond as sugar (if .. then .. else ..) for match_bool 2020-04-01 14:14:20 +02:00
Christian Rinderknecht
968e73b342 Integrated the library for preprocessing.
The build with Makefile works. Dune build to be tested.
2020-03-31 19:44:10 +02:00
Pierre-Emmanuel Wulfman
1fff3dee21 Merge branch 'ast/tuples_are_back' into 'dev'
Adding tuples in ast_sugar

See merge request ligolang/ligo!521
2020-03-31 16:04:19 +00:00
Pierre-Emmanuel Wulfman
c9e509f636 review 1 2020-03-31 17:05:42 +02:00
Pierre-Emmanuel Wulfman
13e9405dee adding tuples in ast_sugar 2020-03-31 17:04:53 +02:00
Sander Spies
0d46be7425 Change not existing mutez type to existing tez type 2020-03-31 17:00:17 +02:00
Sander Spies
9fc3c3f01b merge 2020-03-31 14:15:32 +02:00
Sander Spies
c8175a7550 Inline attribute documentation 2020-03-31 14:11:22 +02:00
Pierre-Emmanuel Wulfman
aac7dd3462 review 1 2020-03-30 17:56:17 +02:00
Pierre-Emmanuel Wulfman
6a9547e910 add type map_or_big_map to solve issue of typing big_map_empty from map_add 2020-03-30 17:55:02 +02:00
Pierre-Emmanuel Wulfman
330c48e66a remove Map and BIG_Map 2020-03-30 17:55:02 +02:00
Pierre-Emmanuel Wulfman
a39c900b72 remove set and list 2020-03-30 17:55:00 +02:00
Pierre-Emmanuel Wulfman
c5d9c9ffa3 remove look_up 2020-03-30 17:54:16 +02:00
Pierre-Emmanuel Wulfman
d91753e493 remove case e_sequance (e_assing, expr) 2020-03-30 14:40:28 +02:00
Pierre-Emmanuel Wulfman
21e8298a4e add assign back 2020-03-30 14:28:31 +02:00
Pierre-Emmanuel Wulfman
4003aa4e06 add for, for_each, while construct in ast_imperatve;\n Move the treatment of loops and handling of the assignment in imperative_to_sugar 2020-03-27 16:52:44 +01:00
Sander Spies
1ac6835726 Some changes to get around the negative test errors. 2020-03-27 16:29:50 +01:00
Sander Spies
62d1a77b3d ReasonLIGO: Add support for _ as an argument 2020-03-26 20:40:18 +01:00
Sander
91a6affdad Merge branch 'enfore_not_allowing_big_maps' into 'dev'
Give an error when nesting a big_map inside another big_map

See merge request ligolang/ligo!518
2020-03-26 10:39:18 +00:00
Sander Spies
cb54cd1210 Lambda's and keys shouldn't give errors for nesting big maps. 2020-03-26 09:23:43 +01:00
Sander Spies
7e59312454 Merge 2020-03-25 17:18:53 +01:00
Pierre-Emmanuel Wulfman
9b192d8ba2 done 2020-03-25 16:23:56 +01:00
Sander Spies
caac8caf8e Add test for tuple list in ReasonLIGO 2020-03-24 14:16:08 +01:00
Sander Spies
af319ba236 Merge branch 'dev' of https://gitlab.com/ligolang/ligo into rinderknecht@reasonligo_parsing
# Conflicts:
#	src/passes/1-parser/reasonligo/error.messages.checked-in
2020-03-24 14:10:30 +01:00
Sander Spies
d059cf991b Give an error when nesting a big_map inside another big_map 2020-03-24 13:58:18 +01:00
Pierre-Emmanuel Wulfman
6cafb4026b adding E_sequence in sugar 2020-03-18 18:13:02 +01:00
Pierre-Emmanuel Wulfman
cb1bc95d59 remove E_skip from core 2020-03-18 16:16:43 +01:00
Pierre-Emmanuel Wulfman
5a4c0b32fb rewrite test suite to compare value from ast_imperative instead of ast_core; includes uncompiler fo stage 4 and 6 2020-03-18 16:00:34 +01:00
Pierre-Emmanuel Wulfman
6dd7afbeb1 change passes name concrete_to_imperative, imperative_to_sugar, sugar_to_core 2020-03-18 16:00:34 +01:00
Pierre-Emmanuel Wulfman
8b3877a92c rename AST to imperative, sugar and core. Factor code in compile 2020-03-18 16:00:34 +01:00
Pierre-Emmanuel Wulfman
6dfd2dac32 test passed 2020-03-18 16:00:34 +01:00
Pierre-Emmanuel Wulfman
2abd737ed3 compiling 2020-03-18 16:00:34 +01:00
Sander
78ae61c5e0 Add remaining API docs 2020-03-17 15:38:41 +00:00
Lesenechal Remi
97a85766d3 add a flag to disable michelson typechecking in compile-contract 2020-03-16 12:19:23 +01:00
Pierre-Emmanuel Wulfman
8a0e1dfea4 dune promote 2020-03-12 18:50:42 +01:00
Lesenechal Remi
3a80fadcc8 rewrite interpreter recursion within the initial formalism. 2020-03-12 18:16:56 +01:00
Pierre-Emmanuel Wulfman
660dcbb79f review 3 2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
c17a749078 review 2 2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
dbb6fbd8e6 review 1 2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
abbc20459c add doc and test 2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
a5f44d3e88 clean-up junk 2020-03-12 16:05:17 +01:00
Sander Spies
51251f9464 Remove debug text 2020-03-12 16:05:17 +01:00
Sander Spies
8a183ff1d2 Fixing error.messages. 2020-03-12 16:05:17 +01:00
Sander Spies
6e76a5d96d Update messages file 2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
092360de93 WIP: fix parser error 2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
27f583266e test for tail recursion 2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
c46002b160 modifying doc and test for loops (Cameligo and pascaligo) 2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
fa5983e9d3 fix contrat religo 2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
b15d9a5123 compiling Pascaligo 2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
e7c71ae4cc passing test for Cameligo 2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
b2f0e8bbc4 WIP: adding E_recursive in ast 2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
734620a179 Keyword add for pasca,came,reason:ligo;typing error in contract 2020-03-12 16:05:17 +01:00
Christian Rinderknecht
b51818bc4e Fixed parsing and source pretty-printing of recursive functions. 2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
68b6e6d3b0 remove option(recursive) in Parser.mly; parse error still 2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
b438f065b5 WIP:adding rec keyword 2020-03-12 16:05:17 +01:00
Pierre-Emmanuel Wulfman
1597d1eaf4 WIP: recursion 2020-03-12 16:05:17 +01:00
Sander Spies
678a3bee59 Fix error messages. 2020-03-10 16:43:29 +01:00
Sander Spies
a94753f720 Re-add error messages. 2020-03-10 16:39:05 +01:00
Sander Spies
d273d0fbfe Merge. 2020-03-10 16:33:24 +01:00
Sander Spies
31e8035e6a Remove incorrect Big_map operations. 2020-03-10 14:52:59 +01:00
Sander Spies
bcb77c6305 Merge 2020-03-10 12:55:51 +01:00
Sander Spies
608a7b7f95 - Refactor operators.ml to have shared pseudo modules.
- Fix tests for big_map
2020-03-10 12:54:18 +01:00
Pierre-Emmanuel Wulfman
4ed4203b46 Merge branch '145-entry-point-name-length-limit' into 'dev'
Resolve "Entry point name length limit"

Closes #145

See merge request ligolang/ligo!446
2020-03-09 18:24:09 +00:00
Pierre-Emmanuel Wulfman
1e36c64d42 Merge branch 'ast/loop_into_recursion' into 'dev'
Removes loops

See merge request ligolang/ligo!492
2020-03-09 18:24:07 +00:00
Tom Jack
8806b52b68 Merge branch 'add-crypto-check-example' into 'dev'
Add working example of Crypto.check

See merge request ligolang/ligo!475
2020-03-09 18:05:59 +00:00
Lesenechal Remi
66aca916bf mapping over type_operator types is useless 2020-03-09 18:29:07 +01:00
Lesenechal Remi
503d8f771e add tests for sum type names limit length 2020-03-09 18:29:07 +01:00
Lesenechal Remi
5a15feadc1 now map over type declarations 2020-03-09 18:29:07 +01:00
Lesenechal Remi
bc7a4daa64 add 'mapi' equivalent for label and constructor maps 2020-03-09 18:29:05 +01:00
Pierre-Emmanuel Wulfman
e436a0a08a removes loops 2020-03-09 18:24:02 +01:00
Lesenechal Remi
25f004844a self: now reject capitalized entrypoint annotation 2020-03-09 11:23:08 +01:00
Lesenechal Remi
b7c08b78d5 self operator now takes an entrypoint annotation as parameter 2020-03-09 11:23:08 +01:00
Lesenechal Remi
e2776e9849 New checks in the self_ast_typed pass:
* Ast_typed stage is now aware of the main function name
* main function type is checked against expected contract types
* Tezos.self (returning contract type) is checked against main function type
* In general, Ast_typed.compile signature has been changed to enable/disable contract-related checks
2020-03-09 11:23:08 +01:00
Lesenechal Remi
f0ad2fed04 new pass : self_ast_typed 2020-03-09 11:23:08 +01:00
Lesenechal Remi
550e6b084b new constant : add self (michelson SELF) 2020-03-09 11:23:08 +01:00
Pierre-Emmanuel Wulfman
49625001b1 Fix simplifyer and test 2020-03-07 02:39:39 +01:00
Pierre-Emmanuel Wulfman
558f3f5e80 fix annotation for funciton in ReasonLigo 2020-03-07 02:00:29 +01:00
Sander Spies
c95f4ee02c Merge 2020-03-06 08:38:07 +01:00
John David Pressman
0f8c7876cd Merge branch 'dev' into contract/pledge-distribute 2020-03-05 14:22:41 -08:00
Lesenechal Remi
9de04123d3 --balance option and updated tests 2020-03-05 20:52:47 +01:00
Tom Jack
d10b95357f Detect gas exhaustion while typechecking 2020-03-05 10:43:40 -06:00
John David Pressman
168a4d5b84 Add pledge-distribute contract 2020-03-05 00:24:55 -08:00
Pierre-Emmanuel Wulfman
adc31a6e01 Merge branch 'rinderknecht@contracts' into 'dev'
Refactoring of the test contracts

See merge request ligolang/ligo!465
2020-03-04 19:26:50 +00:00
Tom Jack
0871fe9c59 Merge branch 'feature/remove-assignment-mini_c' into 'dev'
Remove (unused) assignment from mini_c

See merge request ligolang/ligo!454
2020-03-04 18:38:18 +00:00
Tom Jack
8f6f4398dd Add working example of Crypto.check 2020-03-04 12:03:58 -06:00
Christian Rinderknecht
8f0b1b9c32 I forgot to promote this negative test. 2020-03-04 18:05:29 +01:00
Christian Rinderknecht
2b01dd78fc Fixed the parsing of type t = list ((u,v)); 2020-03-04 16:45:05 +01:00
Christian Rinderknecht
8b2a182c6a Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@contracts 2020-03-04 15:59:47 +01:00
Christian Rinderknecht
bd48a56a24 Forgot to add to the previous commit. 2020-03-04 15:36:33 +01:00
Christian Rinderknecht
d43209f1a1 Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@contracts 2020-03-04 15:26:43 +01:00
Christian Rinderknecht
313bb0c2b3 Reverted two changes. 2020-03-04 15:23:51 +01:00
Pierre-Emmanuel Wulfman
b7e65764dd dune promote 2020-03-04 10:35:34 +01:00
Pierre-Emmanuel Wulfman
c23827e8de new negative test 2020-03-04 10:35:34 +01:00
Pierre-Emmanuel Wulfman
dfb1e1ebef add negative test 2020-03-04 10:35:34 +01:00
Pierre-Emmanuel Wulfman
4f13a33d46 fix bug with wrong annotation at the beginning 2020-03-04 10:35:34 +01:00
Pierre-Emmanuel Wulfman
a19e2ceb3b adding negative test 2020-03-04 10:35:34 +01:00
Pierre-Emmanuel Wulfman
89f2b44e7d Works also when the function parameter are passed in the rhs
Fix some religo contract
2020-03-04 10:35:34 +01:00
Pierre-Emmanuel Wulfman
6e35dadcc4 fix self_in_lambda.mligo 2020-03-04 10:35:34 +01:00
Pierre-Emmanuel Wulfman
5159f293f8 Repare function annotation in let binding for Camligo and ReasonLigo and fix some contracts 2020-03-04 10:35:34 +01:00
Tom Jack
ac374ed2ba Remove debug printfs 2020-03-03 23:47:10 -06:00
Jev Björsell
7dfc3b01c9 Merge branch 'move-examples-folder' into 'dev'
Moved examples folder

See merge request ligolang/ligo!463
2020-03-03 22:41:17 +00:00
Maksym Bykovskyy
e27dfa1bce Moved examples folder 2020-03-03 22:41:16 +00:00
Lesenechal Remi
cf383fe327 more tests 2020-03-03 13:46:11 +01:00
Lesenechal Remi
1e5abda3ee create contract : conservative restrictions & errors in typer, before inlining/beta optimizations 2020-03-03 13:46:11 +01:00
Lesenechal Remi
9a30eb67c1 create_contract: add some tests 2020-03-03 13:46:11 +01:00
Lesenechal Remi
ffd792e2f8 CREATE_CONTRACT: add a check in the typer to allow only closures 2020-03-03 13:46:11 +01:00
Lesenechal Remi
ad7024c62b compiler: compile CREATE_CONTRACT 2020-03-03 13:46:11 +01:00
Lesenechal Remi
4e48026daa typer: typing C_CREATE_CONTRACT 2020-03-03 13:46:11 +01:00
Lesenechal Remi
3260e87d67 new constant : C_CREATE_CONTRACT 2020-03-03 13:46:11 +01:00
John David Pressman
9791b993d2 Abbreviate and de-tone LIGO introduction draft 2020-03-02 21:42:45 -08:00
Christian Rinderknecht
00e6959503 Refactoring of the test contracts. 2020-03-02 18:01:56 +01:00
Tom Jack
8229d6a6af Remove (unused) assignment from mini_c 2020-02-28 13:58:29 -06:00
Christian Rinderknecht
a9214f864d Reviewing again the PascaLIGO contracts. 2020-02-27 19:09:14 +01:00
Christian Rinderknecht
93682629b4 Updating contracts. 2020-02-27 17:51:29 +01:00
Gabriel Alfour
4d61c2285c Merge branch '151-union-type-option-names-collision-when-matching' into 'dev'
Resolve "Union type option names collision when matching"

Closes #151

See merge request ligolang/ligo!457
2020-02-27 09:24:17 +00:00
Lesenechal Remi
a08adbd085 typer: checks for constructor redundancy 2020-02-26 18:54:16 +01:00
Sander Spies
1522a7d2e4 Update error.messages for PascaLIGO. 2020-02-26 15:07:14 +01:00
Christian Rinderknecht
623e16459f Changed Loop.continue to Loop.resume. 2020-02-26 13:36:50 +01:00
Christian Rinderknecht
31a39bffbc I upgraded the parsers to accept Map.map etc. I rewrote the doc except "reference" to promote and deprecate built-ins. 2020-02-25 18:07:53 +01:00
Christian Rinderknecht
656807b22e Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@doc 2020-02-25 17:09:19 +01:00
Christian Rinderknecht
f39ff186d6 Merge branch 'docs/current-reference' into 'dev'
Add Current reference page to docs

See merge request ligolang/ligo!381
2020-02-25 15:51:37 +00:00
Christian Rinderknecht
d7dd064095 Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@doc 2020-02-25 16:40:23 +01:00
Lesenechal Remi
4c2529b83c allow constructor without parameters 2020-02-25 14:54:08 +01:00
John David Pressman
936418615e Add Current.x reference page to doc tests 2020-02-25 05:26:04 -08:00
John David Pressman
9daabd0abf Merge branch 'dev' into docs/current-reference 2020-02-25 05:14:09 -08:00
Christian Rinderknecht
f4d688df7b Fixed the tutorial. Enabled underscores in tez amounts. Fixed docs on
Tez and tuples (zero-indexation).
2020-02-21 17:16:53 +01:00
Rémi Lesenechal
040ed8b6ff Merge branch 'feature/subtler-nontail-fail' into 'dev'
Fix non-tail fail avoidance

See merge request ligolang/ligo!438
2020-02-21 13:50:25 +00:00
Christian Rinderknecht
f405f03740 Merge branch 'feature/dont-use-source' into 'dev'
Examples: don't use SOURCE

See merge request ligolang/ligo!444
2020-02-20 19:50:17 +00:00
Tom Jack
4b9e175063 Examples: don't use SOURCE 2020-02-20 12:18:57 -06:00
Tom Jack
23353b0e27 Clarify internal sender/source options 2020-02-20 12:17:31 -06:00
Tom Jack
01531ac307 Support lowercase in hex bytes 2020-02-20 12:07:01 -06:00
Tom Jack
4c53fa4ae6 Fix non-tail fail avoidance 2020-02-20 09:58:17 -06:00
Suzanne Dupéron
ce4c2ee783 Merge branch 'feature/ast-cleanup-ocaml-tuples' into 'dev'
AST cleanup + replace OCaml tuples with record in ast_typed

See merge request ligolang/ligo!429
2020-02-20 14:57:07 +00:00
Suzanne Dupéron
4f36ff3bcb Replace OCaml tuples with record in ast_typed 2020-02-20 14:21:30 +01:00
Suzanne Dupéron
ea74ed8a2c Normalize indentation etc. of ast_typed in preparation for the ADT generator 2020-02-20 14:21:30 +01:00
John David Pressman
62fe576bc9 Revert "Merge branch 'fix/pascal-tuples-in-doc' into 'dev'"
This reverts merge request !437
2020-02-20 05:25:30 +00:00
Rémi Lesenechal
e8129c5be3 Merge branch 'feature/variable-in-dry-run' into 'dev'
Allow using top level variables defined in source code in dry-run PARAMETER and STORAGE

See merge request ligolang/ligo!436
2020-02-19 20:41:37 +00:00
Pierre-Emmanuel Wulfman
8d01fcb9f7 Merge branch 'fix/pascal-tuples-in-doc' into 'dev'
Make Tuple in PascaLigo starting at one

See merge request ligolang/ligo!437
2020-02-19 17:15:29 +00:00
Pierre-Emmanuel Wulfman
0b10b7188b Merge branch 'test-contract-religo' into 'dev'
Multisig contract test for Cameligo and ReasonLigo

See merge request ligolang/ligo!421
2020-02-19 17:08:30 +00:00
Pierre-Emmanuel Wulfman
e1606c4700 add multisig test for cameligo and reasonligo 2020-02-19 16:40:55 +01:00
Pierre-Emmanuel Wulfman
dcb342e031 add primitive to cameligo 2020-02-19 16:40:55 +01:00
Pierre-Emmanuel Wulfman
b8af9a56d9 fix contract with tuples starting at one 2020-02-19 16:15:43 +01:00
Lesenechal Remi
44ff5d580d Allow using top level variables defined in source code in dry-run PARAMETER and STORAGE 2020-02-19 16:10:50 +01:00
Pierre-Emmanuel Wulfman
a6fc8a3f6a Merge branch 'for-loop-bugs' into 'dev'
For loop bugs fixed

See merge request ligolang/ligo!434
2020-02-19 15:08:01 +00:00
Pierre-Emmanuel Wulfman
eee6dbaeb2 make while_loop, for_int and for_collect more similar 2020-02-19 14:41:16 +01:00
John David Pressman
892f813a6c Merge branch 'contract/hashlock' into 'dev'
[LIGO-406] Hashlock contract

See merge request ligolang/ligo!359
2020-02-19 00:15:39 +00:00
Pierre-Emmanuel Wulfman
9de45285b2 remove Var.show 2020-02-18 14:19:11 +01:00