The Shackle Almanac
1.
The compilation process
❱
1.1.
Parsing
1.2.
Abstract syntax tree
❱
1.2.1.
Include resolution
1.3.
High-level intermediate representation
❱
1.3.1.
Scope collection
1.3.2.
Type checking
1.4.
Typed high-level intermediate representation
❱
1.4.1.
Model transformations
1.4.2.
Output item removal
1.4.3.
Generating constraints for domains
1.4.4.
Top-down typing
1.4.5.
Type specialisation
1.4.6.
Generation of function dispatch preambles
1.4.7.
Erasure of records
1.4.8.
Erasure of enums
1.4.9.
Desugaring of comprehensions
1.4.10.
Erasure of option types
1.4.11.
Removal of overloading
1.4.12.
Desugaring of capturing
1.5.
Mid-level intermediate representation
❱
1.5.1.
Totalisation
1.5.2.
Context analysis
1.6.
Bytecode generation
1.7.
Bytecode interpretation
2.
MicroZinc specification
❱
2.1.
Typing Rules
2.2.
Operational Semantics
3.
The MicroZinc Interpreter
4.
MiniZinc Syntax Changes
5.
Error handling
Light
Rust
Coal
Navy
Ayu
The Shackle Almanac
The MicroZinc Interpreter
Builtin functions
The following functions have been included as builtin functions for