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
galfour
9fe5d821c3
Merge branch 'dev' into clean-sts-solver
2019-11-04 16:32:32 +01:00
Tom Jack
ba7a83d0f7
Deal with upstream MBytes changes
2019-11-02 17:54:33 -05:00
Tom Jack
b06f4d3f62
Delete protocol tests
2019-11-02 17:54:21 -05:00
Tom Jack
f739624185
Prepare for tezos upgrade
2019-11-02 17:38:39 -05: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
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
Suzanne Dupéron
735bd8e668
Implementing subst over the AST
2019-10-29 01:55:53 -04:00
Suzanne Dupéron
dcf5a975d4
More of subst
2019-10-28 01:10:26 -04:00
Tom Jack
6956e8751d
Add hex michelson output, use enums for format options
2019-10-26 12:57:22 -05:00
Tom Jack
dae4f58297
Combine adjacent DROP
2019-10-24 23:58:21 -05: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
5a58559edc
Merge remote-tracking branch 'origin/dev' into HEAD
2019-10-11 16:59:45 -04:00
Tom Jack
047065f8ee
Delete vestigial local repo stuff
2019-10-11 15:12:07 +00:00
Suzanne Dupéron
4fa54dd2c1
More progress on merging new typer and new dev
2019-10-10 01:23:55 -04: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
Pierre-Emmanuel Wulfman
59cb210b83
Interface for Ocaml code
2019-10-07 14:18:32 +00:00
Lesenechal Remi
4e333836cb
ignore closure error in subexpression of argument
2019-10-03 15:36:06 +02:00
Lesenechal Remi
a7565145d5
add map_expression function in self_mini_c pass helpers
2019-10-02 18:31:15 +02:00
Georges Dupéron
2b5b23f266
WIP: fixing the build errors + missing non-merged code
2019-09-29 18:25:02 -04:00
Pierre-Emmanuel Wulfman
f657c71753
Merge done and repo build with no error
2019-09-27 14:55:09 +02:00
Tom Jack
09496ce4ca
Generate field annotations for sum/record
2019-09-26 11:39:35 -05:00
Tom Jack
a521c01115
some michelson optimizations
2019-09-25 20:15:19 -05:00
galfour
720ef99c69
solve conflict
2019-09-22 22:17:28 +02:00
galfour
ad79188c4f
add list pattern matching
2019-09-21 09:12:00 +02:00
Lesenechal Remi
25e3ab8e5d
big map can be looked up
2019-09-20 21:33:14 +02:00
galfour
66efff631d
add micheline
2019-09-20 18:56:55 +02:00
galfour
9a7c3ee54d
Merge branch 'dev' into refactor/everything
2019-09-20 17:51:43 +02:00
galfour
015e197183
back on track
2019-09-19 01:34:37 +02:00
galfour
b619fa1f17
further down the road
2019-09-18 18:49:33 +02:00
Tom Jack
c867a4c4d4
Remove dune-project files
2019-09-09 13:59:08 -07:00
Tom Jack
e0b5910627
Try to fix CI again
2019-09-08 12:37:11 -07:00
galfour
cb1aa44ff4
moving stuff around
2019-09-08 12:17:24 +02:00
galfour
25b07af6ae
merge dev conflict
2019-09-07 16:54:08 +02:00
galfour
f831793fbd
y e s s s
2019-09-05 15:21:01 +02:00
galfour
32599ae90b
removing tezos-modded
2019-09-04 20:19:09 +02:00
galfour
af588933f4
add closures
2019-08-21 10:28:27 +02:00
galfour
88261fd5e2
Merge branch 'dev' into feature/better-error-messages
2019-07-21 11:58:09 +02:00
galfour
9dd8e63cbf
add iter for set and lists
2019-07-20 13:46:42 +02:00
galfour
33101820ec
add set tests
2019-07-19 14:35:47 +02:00
Galfour
6e3209fa4f
add manual tests; change display of errors; minor refactorings
2019-06-28 12:05:04 +00:00
Georges Dupéron
148daa32a2
Merge remote-tracking branch 'origin/dev' into HEAD
2019-06-13 12:03:46 +02:00
Matej Šima
072d753e91
Merge branch 'feature/more-operators' into 'dev'
...
Feature/more operators
See merge request ligolang/ligo!32
2019-06-12 20:34:16 +00:00
Georges Dupéron
0af274a3a4
Tutorial for the trace monad, bind operator (>>?) and ppx_let
2019-06-12 01:50:26 +02:00
Galfour
985eff44a9
more keywords ; add support for sets ; remove assert from keywords
2019-06-10 09:58:16 +00:00
Georges Dupéron
e6994cd2d9
typo
2019-06-10 10:23:18 +02:00
Georges Dupéron
c47daad439
Use sh, not bash
2019-06-10 10:23:18 +02:00
Georges Dupéron
e0228f352c
fix build (my bad)
2019-06-05 14:26:01 +02:00
Georges Dupéron
24db060dae
Use internal_assertion_fail instead of the simple_error that are just assertions
2019-06-05 11:38:59 +02:00
Galfour
0e17e8b274
minor fixes
2019-06-03 12:23:46 +00:00
Galfour
8c81432281
modify trace; oldify multifix
2019-06-03 10:33:13 +00:00
Galfour
6febd855c4
fix ligodity; add it to the bin; add source locations; merge
2019-06-01 11:29:31 +00:00
Galfour
320d0c1a72
various refactorings to prepare tests; tests for ligodity don't pass
2019-05-31 19:56:51 +00:00
Galfour
79af0abab3
propagate source-code locations to ast_typed
2019-05-28 17:02:40 +00:00
Galfour
c32ace3afc
propagate source code locations
2019-05-28 15:36:14 +00:00
Galfour
50868302c6
minor rewriting; add docs
2019-05-28 10:46:22 +00:00
Georges Dupéron
5a13789a11
cleanup
2019-05-27 13:11:57 +02:00
Georges Dupéron
0880fb0cbf
typo in sed script
2019-05-27 13:10:29 +02:00
Georges Dupéron
b3b87543ba
Place the local copy of ligo in a -generated folder
2019-05-27 11:57:29 +02:00
Georges Dupéron
681fe53dd6
Merge repository tezos-modded
2019-05-27 11:57:15 +02:00
Georges Dupéron
fd513af745
Merge repository ligo-utils
2019-05-27 11:56:53 +02:00
Georges Dupéron
28d3bc8c3f
Merge repository ligo-opam-repository
2019-05-27 11:54:29 +02:00
Georges Dupéron
870b998cc6
Removed submodules, will merge them with main repo
2019-05-27 11:52:49 +02:00
Georges Dupéron
d9756a048a
move before merging repositories (part 2)
2019-05-27 11:26:11 +02:00
Georges Dupéron
92482176eb
move before merging repositories
2019-05-27 11:18:48 +02:00
Georges Dupéron
7c8c6515b8
move before merging repositories
2019-05-27 11:08:26 +02:00
Georges Dupéron
335a878ff9
move before merging repositories (part 1)
2019-05-27 10:53:14 +02:00
Christian Rinderknecht
28b84e1e65
Fixed the translation of let-in.
2019-05-24 19:31:39 +02:00
Georges Dupéron
a0936d8eb5
Moved repository to ligolang namespace
2019-05-24 11:36:39 +02:00
Christian Rinderknecht
5fd234c8c8
Removed unused src/bin_node.
2019-05-16 15:21:46 +02:00
Georges Dupéron
8821e6c01e
Rewrite local opam repository into a different folder and .gitignore it
2019-05-15 16:45:37 +02:00
Christian Rinderknecht
dcbfbf781d
Extended lib_utils/pos.ml{i}. First import of Ligodity. (No "simplify" yet.)
2019-05-15 16:04:37 +02:00
Georges Dupéron
22b331dbed
Added tests to build, fixed some unused variables.
2019-05-15 15:17:04 +02:00
Georges Dupéron
7f94d49243
update submodule
2019-05-14 20:19:23 +02:00
Georges Dupéron
bbf239dbe4
Update submodule
2019-05-14 20:12:39 +02:00
Georges Dupéron
aa61e86657
Updated ligo-opam-repository submodule.
2019-05-14 19:42:33 +02:00
Georges Dupéron
60f99b3e9c
Moved script to rewrite OPAM repository outside of the .gitlab-ci.yml in ligo repo
2019-05-14 18:05:47 +02:00
Georges Dupéron
c43570a82d
Move into src/; add vendors/ subfolder, add CI script.
2019-05-14 17:53:44 +02:00
Elliot Cameron
6ce10791b0
Ledger: add deauth APDU support, better get-authorized-key support, and friendlier CLI
2019-03-06 16:05:23 +00:00
Pierre Boutillier
d7ba8bb07d
Resto: Fix #480 : Keep the host:
set by the user with TEZOS_SIGNER_HTTP_HEADERS
...
This is a fixup of 21bb9436371741a8cf643cfc6218ace9ebfecc19
2019-02-27 15:42:37 +00:00
Grégoire Henry
33a7ca51c3
Client: Use Host
in HTTP requests
...
and add proper error message when the node refuses connection for
unallowed origin (CORS).
2019-02-26 12:00:37 +01:00
Grégoire Henry
24686ae8f2
Shell/RPC: enforce Host
when using CORS.
2019-02-26 12:00:32 +01:00
Sebastien Mondet
da4a99ac27
Add support for test-chain-related APDUs
2019-02-25 15:44:18 +01:00
Raphaël Proust
575aafc554
vendors: add synopsis to each opam file
2019-02-25 02:03:12 +00:00
Sebastien Mondet
fd2c043a5d
Return proper error message in ocp-resto/client
2019-02-14 11:22:52 -05:00
Pierre Boutillier
677d2ae9d6
Synchronize (and fix) maximal size of lmdb dbs
...
Store can now be up to 40 Go large (was 4 To!)
Context can now be up to 400 Go large (was 40 Go)
2019-01-29 19:23:48 +00:00
Pierre Boutillier
03fc4b2e33
fixup 242c97d1
ocplib-json-types: 'Variable defintion path in json_schema'
2019-01-23 13:12:42 +01:00
Pierre Boutillier
7335d95308
ocplib-json-typed: inline records have been introduiced in OCaml 4.03
2019-01-22 23:17:54 +01:00
Pierre Boutillier
242c97d1f1
ocplib-json-typed: import ' Variable defintion path in json_schema' from upstream
...
It is upstream acfb41f711cbda67680b84d0f8292e2a1849c711
2019-01-22 23:17:54 +01:00
Pierre Boutillier
a10b7dc5b5
ocplib-json-typed: Makefile update for dune
...
We don't care as we're not using the Makefile directly but:
dune: --dev is no longer accepted as it is now the default.
2019-01-22 23:17:53 +01:00
Pierre Boutillier
8012bdca65
ocplib-json-typed: follow upstream file organization
2019-01-22 23:17:53 +01:00
Pierre Boutillier
28da6ef03b
Deps: be compatible with Js_of_ocaml.3.3.0
...
It now uses dune and "wraps" its library.
2019-01-22 17:16:52 +01:00
Grégoire Henry
dbf4736e6b
Opam: update package description to opam.2.0
...
Co-authored-by: Pietro Abate <pietro.abate@nomadic-labs.com>
Co-authored-by: Gregoire Henry <gregoire.henry@tezos.com>
2019-01-21 17:54:19 +01:00
Grégoire Henry
de171a63f0
OPAM: strict version constraints on dune are not required anymore
2019-01-21 17:54:18 +01:00
Pierre Chambart
56936c7a1e
Add sync test option
2018-11-22 19:06:19 +01:00
Vincent Botbol
3405231a1f
Resto: decode uri before converting the path
2018-10-17 15:06:34 +02:00
Pietro Abate
000b9af6f9
vendors,hacl: use more generic gcc options
...
Tentative fix for "Illegal instruction (core dumped)" on certain
architectures du to gcc over optimization. This can possibly
introduce a performance regression.
@chambart for his gbd-foo skills
2018-10-11 18:36:35 +02:00
Vincent Bernardoff
50f367e27b
Vendors/ledgerwallet: curve parsers and pretty-printers
2018-10-04 15:28:21 +02:00
Vincent Bernardoff
9ce0018506
Ledger: match error codes with V1.4.0
2018-10-03 14:08:39 +02:00
Vincent Bernardoff
4bb28cd285
Ledger: implement authorized-path APDU
2018-10-03 14:08:39 +02:00
Vincent Bernardoff
92715a005b
Ledger: implement git-commit APDU
2018-10-03 14:08:37 +02:00
Pierre Chambart
43bf1b4cc4
Storage: better use of LMDB transactions for better perf and to force sync at commit
...
Review and edit by @klalplok, @vbot, @samoht.
2018-09-28 15:12:01 +02:00
Pierre Chambart
09bf4e4819
Store and Context: open the database with the nometasync flag
...
This mode maintains the coherency of the database in case of crash,
but can drop the last commits. This is not a problem for us since
every data is recoverable.
2018-09-24 20:29:58 +02:00
Pierre Chambart
bfeff69794
Vendors/lmdb: Change the default sync flags
...
The default was unsafe but fast, we change that to the safe version.
2018-09-24 18:19:22 +00:00
Sebastien Mondet
39e8c4f6b5
Fix typo in Baking app name
2018-09-24 20:15:25 +02:00
Sebastien Mondet
b329b604a7
Improve display of Ledger apps names/versions
2018-09-24 20:15:25 +02:00
Vincent Botbol
04cd08f13f
Hotfix: print unhandled cases
2018-09-24 19:43:41 +02:00
Pierre Chambart
bde9ba771b
Irmin_lmdb: Add NoReadahead flag to lmdb open
2018-09-12 14:58:44 +02:00
Arthur B
7206ccd560
Indentation fixes
2018-08-31 15:46:56 +02:00
Vincent Bernardoff
b9eba66b4c
Vendors/BIP39: drop nocrypto
, use new pbkdf
2018-08-20 11:56:36 +02:00
Vincent Bernardoff
5294a144b1
Vendors/Pbkdf: drop nocrypto
2018-08-20 11:56:35 +02:00
Vincent Bernardoff
a224c80462
Hacl: refactoring
2018-08-20 11:56:35 +02:00
Vincent Bernardoff
928ee9d3a0
Hacl: add HMAC_SHA512
2018-08-20 11:56:34 +02:00
Vincent Bernardoff
a3cfcc091a
Hacl: expose hashing constants
2018-08-20 11:56:33 +02:00
Vincent Bernardoff
1a93df75ae
Hacl: refactoring
2018-08-20 11:56:30 +02:00
Pietro Abate
326f7d6f5e
Vendors: Fix compilation warning in LMDB ( close #329 )
2018-08-20 10:58:17 +02:00
Vincent Bernardoff
4a436c2f18
Vendors/lmdb: add CFLAGS
2018-08-09 21:09:11 +02:00
Vincent Bernardoff
ccc61dbbc4
Vendors/lmdb: fixes in OCaml stubs
2018-08-09 18:32:21 +00:00
Vincent Bernardoff
2a4c6762a7
Vendors/lmdb: upgrade to latest version
2018-08-09 18:32:21 +00:00
Grégoire Henry
87e0de9826
Dune: use the new syntax
2018-08-01 10:52:24 +02:00
Grégoire Henry
5362b321d9
Dune: rename s/jbuild/dune/
2018-08-01 10:32:12 +02:00
Pietro
c7cfdcb4d9
[Doc]: Fix minor warnings and errors in the doc
2018-07-25 15:58:38 +02:00
Pietro
b89682e441
Build: Jbuilder -> Dune 1.0.1
2018-07-24 19:15:04 +02:00
Benjamin Canou
a0b94cff2b
Resto: automatically retry a few times on 502 gateway errors
2018-07-06 23:28:33 +02:00
Pierre Boutillier
140bd6b1ca
Tezos is now Open Source
2018-06-30 17:41:32 +02:00
Vincent Botbol
85cac4282c
Irmin_lmdb: make sure we open the file with consistent rights
2018-06-29 17:50:17 +02:00
Vincent Bernardoff
aceee178e1
Vendors: upgrade ocaml-ledger-wallet
...
* Use result instead of exceptions
* Support newer versions of the companion Tezos/TezBake Ledger apps
2018-06-29 01:43:29 +00:00
Benjamin Canou
1f213b385b
Vendors/Resto: allow client to send host header
2018-06-27 22:57:02 +02:00
Marco Stronati
509a8a801a
hacl: quick fix to compile on aarch64
2018-06-25 13:22:09 +00:00
Benjamin Canou
daaaf75e67
Vendors/Resto: allow passing custom headers in requests
2018-06-21 18:03:14 +02:00
Benjamin Canou
a838f5d55c
Fix OPAM dependencies
2018-06-19 04:00:09 +02:00
Grégoire Henry
0a71db1652
Opam: upgrade to irmin-1.4.0
2018-06-18 11:39:37 +00:00
Vincent Bernardoff
3a2a11d888
Vendors: import ocaml-ledger-wallet
2018-06-16 16:26:19 +02:00
Vincent Bernardoff
68330036a1
Crypto: add test vectors for P256
2018-06-13 23:59:16 +00:00
Pierre Boutillier
0addf499c5
Remove assembly code from uECC
2018-06-13 23:59:16 +00:00
Vincent Bernardoff
9d18f7846d
Crypto: disable P256 signing
2018-06-13 23:59:16 +00:00
Vincent Bernardoff
7df49b62e1
Crypto: import uecc
2018-06-13 23:59:16 +00:00
vbotbol
e314ac635d
Storage: add readonly option
2018-06-13 01:00:47 +02:00
Vincent Bernardoff
a726d7363b
Opam: remove irmin-leveldb
2018-06-13 00:55:37 +02:00
Vincent Bernardoff
be459ef312
Vendors: import irmin-lmdb
2018-06-13 00:55:36 +02:00
Vincent Bernardoff
cbef4c4d0c
Vendors: import ocaml-lmdb
2018-06-13 00:55:36 +02:00
Grégoire Henry
5fd5c1c5f7
Dune: upgrade to 1.0+beta20
2018-06-08 15:27:23 +00:00
Pierre Boutillier
330b670d59
Test a sequence of update in Hash.SHA256
2018-06-06 15:33:22 +02:00
Grégoire Henry
33c3d1fcbd
Alpha/RPC: add a low-level but typed RPC for context introspection
...
Example:
```
> tezos-client rpc get /chains/main/blocks/head/context/raw/json/\?depth\=1 | jq
{
"commitments": [],
"contracts": {
"global_counter": 0,
"index": []
},
"cycle": [
4,
3,
2,
1,
0
],
"delegates": [
"tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN",
"tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU",
"tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv",
"tz1b7tUupMgCNw2cCLpKTkSD1NZzB5TkP2sv",
"tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx"
],
"last_block_priority": 0,
"rolls": {
"index": [],
"next": 2000,
"owner": {}
},
"votes": {
"ballots": [],
"current_period_kind": "proposal",
"current_quorum": 8000,
"listings": [],
"proposals": []
}
}
> tezos-client rpc get /chains/main/blocks/head/context/raw/json/cycle/4\?depth\=2 | jq
{
"last_roll": [
[
0,
2000
]
],
"nonces": [],
"random_seed": "97d50852c159ada8e9f107e98f693b059ba28336c723e6cd0f6353eb3c0cb415",
"roll_snapshot": 0
}
> tezos-client rpc get /chains/main/blocks/head/context/raw/json/cycle/5\?depth\=2 | jq
{
"last_roll": [
[
1,
2000
],
[
0,
2000
]
],
"nonces": [],
"roll_snapshot": 2
}
```
2018-06-06 10:54:33 +02:00
Grégoire Henry
f5e3fb17c0
Resto: lift the lwt monad into Resto.
2018-06-06 10:54:33 +02:00
Grégoire Henry
b6b30875e4
Resto: export RPC_arg.eq
to the protocol.
2018-06-06 10:54:33 +02:00
Grégoire Henry
89cbe0f8fa
Docs/RPC: fix doc generation
...
The current doc generator does not handles path were multiple method
are registred. The fix remove the intermediate (compilation) tree.
2018-06-06 10:54:33 +02:00
Grégoire Henry
6149909e83
Opam: fix the hacl
package
2018-06-06 10:49:48 +02:00