WIP: [TM-68] Initial WIP draft of Lorentz DSL
Description
Problem: Implicit DSL in Michelson.Typed.Instr
is designed for
use in Michelson.TypeCheck
and is awkward for directly writing
contracts.
Solution: With liberal use of type synonyms and new functions to
reexport Michelson.Type.Instr
constructors, define new DSL Lorentz
and write example contract Auction.hs
Needed improvements are:
- Integration with
TzPrinter
fromjcb/tm58-printer
to test that the outputted Michelson is well-formed - Better interfacing syntax for
Michelson.Typed.Arith
andMichelson.Typed.Polymorphic
- Better interfacing syntax for
Michelson.Typed.Value
- Rename types in
Michelson.Untyped.Type
andMichelson.Typed.T
according to https://issues.serokell.io/issue/TM-66 or some other, better schema. - Related to previous point, figure out how to improve error messages, which are currently somewhat challenging to read
Related issue(s)
https://issues.serokell.io/issue/TM-68
✅ Checklist for your Merge Request
Related changes (conditional)
-
Tests
-
If I added new functionality, I added tests covering it. -
If I fixed a bug, I added a regression test to prevent the bug from silently reappearing again.
-
-
Documentation
Stylistic guide (mandatory)
-
My commits comply with the following policy. -
My code complies with the style guide.