WIP: [TM-7] [TM-11] Custom Macros (let-block), inline tests
Advanced Morley Language features: Let-blocks, inline tests
Let-block (custom macro, type synonym, constant declaration)
-
Design syntax (needs clean-up) -
Parsing of Let-Block (needs testing) -
Expansion of Lets -
Typechecking LetMacro (via STACK
instructions),LetValue
(need to figure out how). -
Testing Lets
Pragma Infrastructure
Design syntaxImplement example pragma (-XContractMain), further extensions out of scope of this issueParsing of pragmas (my method will automatically generate new pragma parsers simply by expanding thePragma
sum type.)
In-line Assertions (MorleyInstr: STACK, TEST, PRINT)
-
Design syntax -
Parsing -
Integrate with Macro expansion -
Integrate with typechecker -
Integrate with runtime
Property Testing (Check-block)
Design syntax (in-progress)Parsing
EDIT: For the sake of modularity, Pragma work is now postponed for a future MR. Property testing will now be implemented in a separate branch here: https://gitlab.com/camlcase-dev/morley/tree/jcb/tm11-properties
Edited by John Burnham