Edo primitives
To remember
For EDO, we needed linear pattern matching for tuple/record, and (for users sanity) deep tuple/record destructuring. The abstraction
pass handle that, but this MR do not introduce deep pattern matching even if the code is ready.
Bellow a few TODOs to get it done properly:
- move patterns handling later in the pipeline (around
sugar
). Functionconv
is the only thing that would remain insrc/passes/04-tree_abstraction/cameligo(pascaligo/cameligo)/compiler.ml
and a new case for match_patterns must be added (and conserved for a later pass) - tuple destructuring at top-level should be deprecated (for now, the previous implem is kept only for top-level)
- add support for Variant destructuring (should be very easy)
- get-scope support for tuple-destructuring (and later deep pattern matching)
- see with serokell to update their parser (looks like destructured records are not parsed correctly)
- see with @rinderkn if there is a way to get
{a ; b}
=={ a = b ; b = b }
(kinda nicer to write)
Still left:
-
DOC -
not sure how to translate sapling types
Edited by Rémi