Lyra is the Lowered Intermediate Representation for Aument, a high-level intermediate representation specialized for the Aument programming language.
Aument translates source code directly into an in-memory bytecode format suitable for interpretation. The compiler compiles this bytecode format into C. Lyra is intended to be an intermediate layer after bytecode translation: Aument bytecode will be compiled into Lyra, which will be optimized and ultimately be converted into C code.
unticked boxes mean unimplemented
- Type inference
- Constant propagation
- Remove dead instructions
- Generating reference count operations
- Specialize dynamic functions