Commit Graph

1364 Commits

Author SHA1 Message Date
Suzanne Dupéron
ee5e484bf4 Use the auto-generated comparators as the implementations for the typeclass-like requirements for comparison functions 2020-05-25 20:42:16 +01:00
Suzanne Dupéron
008f228ed7 Hide the intermediate functions from PP_generic's signature 2020-05-25 20:42:16 +01:00
Suzanne Dupéron
92069077df Auto-generated comparator for AST_typed 2020-05-25 20:42:16 +01:00
Suzanne Dupéron
9a017e5f63 ADT generator: Fixes LIGO-656 Generated fold_maps are unusable because some collection types need extra info (e.g. sets need a comparison operator for their elements) 2020-05-25 20:42:16 +01:00
Suzanne Dupéron
b2d80e0154 Rename src/stages/4-ast_typed/types.ml (part 1: does not build) 2020-05-25 20:42:16 +01:00
Jev Björsell
7db2c24bd3 update example.ts, generate-deploy-script.ts, and load-state.ts to support default generateDeployScript values for examples 2020-05-25 18:47:50 +00:00
Edmond Lee
22b0c9ec46
add default values generateDeployScript values to example contracts 2020-05-25 10:12:41 -07:00
Pierre-Emmanuel Wulfman
41d1f5e1b0 fix 2 missing loc in cameligo simplifier EProj et ETuple 2020-05-25 15:43:57 +02:00
Christian Rinderknecht
36cecfb019 * Renamed AST.TStringLiteral into AST.TString
* Fixed parsing of "begin let x = e1 in e2; e3 end"
2020-05-20 16:36:44 +00:00
galfour
0199f3e448 produce I_LAMBDA instead of I_PUSH directly for functions 2020-05-19 23:53:55 +02:00
Pierre-Emmanuel Wulfman
ea306bf685 Merge branch 'fix/srcloc_different_constructor' into 'dev'
FIX/Solve two bug with location

See merge request ligolang/ligo!627
2020-05-19 21:49:23 +00:00
Pierre-Emmanuel Wulfman
e04918047c Merge branch 'fix/srloc_in_mini-c' into 'dev'
fix/Add srcloc in mini-c

See merge request ligolang/ligo!582
2020-05-19 21:37:40 +00:00
Pierre-Emmanuel Wulfman
85dc95dc7b solve to bug with location 2020-05-19 18:53:20 +02:00
Sander
7f32937d6d Merge branch 'interop-doc' into 'dev'
Interop docs

See merge request ligolang/ligo!537
2020-05-19 15:49:09 +00:00
Sander
a0f8bd941e Interop docs 2020-05-19 15:49:09 +00:00
Jev Björsell
e6e1bc5876 Merge branch 'contract/F1.2_example' into 'dev'
TZIP-12: FA1.2 example contract

See merge request ligolang/ligo!600
2020-05-19 15:28:02 +00:00
Pierre-Emmanuel Wulfman
0f7fde19f5 Merge branch 'fix/region_simplifier' into 'dev'
fix/keep region information in the cameligo simplifier

See merge request ligolang/ligo!617
2020-05-18 14:32:42 +00:00
Pierre-Emmanuel Wulfman
fdb7697806 Merge branch 'fix/comparable-pair' into 'dev'
Allow comparison of "comparable pair"

See merge request ligolang/ligo!616
2020-05-18 14:32:36 +00:00
Pierre-Emmanuel Wulfman
551bf176fe add srcloc in mini-c 2020-05-18 15:47:59 +02:00
Pierre-Emmanuel Wulfman
6c8b76b3de add verbatim in lexer and parser 2020-05-18 13:28:31 +02:00
Pierre-Emmanuel Wulfman
7244b91c45 fix/keep region information in the simplifier 2020-05-15 18:28:24 +02:00
Pierre-Emmanuel Wulfman
0ccc637c9b Allow comparison of "comparable pair" (left is a simple comparable type, right is a comparable type) 2020-05-15 17:25:23 +02:00
Pierre-Emmanuel Wulfman
7bcf46d3bc Merge branch 'refactoring_mini-c_type' into 'dev'
Refactor Mini-c types for conformity with the other stage

See merge request ligolang/ligo!598
2020-05-13 11:01:20 +00:00
Suzanne Dupéron
673fb67c1c Added test case from GitLab issue 2020-05-09 22:05:54 +01:00
Gabriel Alfour
da5b9c1612 Remove erroneous comment 2020-05-09 20:15:33 +00:00
galfour
98d49959b7
add a pass to recompute environments 2020-05-09 13:21:19 +02:00
Lesenechal Remi
9eeac11628 some environment cleanup 2020-05-07 16:30:06 +02:00
Pierre-Emmanuel Wulfman
e0be6fc36f done 2020-05-05 17:24:03 +02:00
Rémi Lesenechal
77b5e15088 Merge branch 'feature/fix-michelson-pair-detection' into 'dev'
now check the label to detect michelson pairs

Closes #183

See merge request ligolang/ligo!602
2020-05-05 14:47:09 +00:00
Lesenechal Remi
c54d650a2a now check the label to detect michelson pairs 2020-05-05 15:21:28 +02:00
Rémi Lesenechal
cadd0d66a9 Merge branch 'feature/quickfix-uncapitalize-michelson-or' into 'dev'
uncapitalize micheslon_or's %-annotations

See merge request ligolang/ligo!601
2020-05-05 12:40:00 +00:00
Lesenechal Remi
7bbfa9ff97 uncapitalize micheslon_or's %-annotations 2020-05-04 18:22:39 +02:00
Suzanne Dupéron
38af497cc3 Merge branch 'feature/adt-generator-promote-until-clean' into 'dev'
Adt generator : promote until-clean

See merge request ligolang/ligo!597
2020-05-04 15:19:05 +00:00
Rémi Lesenechal
29de1278b4 Merge branch 'feature/converter-generation' into 'dev'
michelson layout converters

Closes #74

See merge request ligolang/ligo!585
2020-05-04 13:45:26 +00:00
Pierre-Emmanuel Wulfman
ddb2eac6ca add test 2020-05-04 15:14:56 +02:00
Pierre-Emmanuel Wulfman
426a1b6620 adding ReasonLigo contract 2020-05-04 15:12:44 +02:00
Rémi Lesenechal
51c043b7cb Merge branch 'feature/new-typer-3' into 'dev'
Add a reason string explaining why constraints are added by the typer

See merge request ligolang/ligo!596
2020-05-04 13:08:00 +00:00
Lesenechal Remi
5891a6f4cc 'convert_from_left_comb' and 'convert_from_right_comb' for sum types 2020-05-04 14:19:04 +02:00
Pierre-Emmanuel Wulfman
059a566d4b add PascaLigo contract 2020-05-04 13:39:44 +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
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