The plan for improving compilation is
- extend the HLIR intermediate representation (libISA/hlir.ml) to handle the full language
- extend the ISA->HLIR convertor to handle the full language
- change the implementation of HLIR to make more operations constant time (based on MLIR/LLVM-IR implementation)
- remove some of the early desugaring passes that will be redundant when using HLIR (because HLIR doesn't have syntactic sugar)
- convert later passes (codegen, mono, constprop) to work on HLIR
- gradually work on mid-passes and early passes to work on HLIR until all passes have been converted.
This is likely to take a while and is considered non-urgent.
(But, once done, code generation will be dramatically faster and less fragile)
The plan for improving compilation is
This is likely to take a while and is considered non-urgent.
(But, once done, code generation will be dramatically faster and less fragile)