1. The Shackle Almanac
  2. The compilation process
    1. Parsing
    2. Abstract syntax tree
      1. Include resolution
    3. High-level intermediate representation
      1. Scope collection
      2. Type checking
    4. Typed high-level intermediate representation
      1. Model transformations
      2. Output item removal
      3. Generating constraints for domains
      4. Top-down typing
      5. Type specialisation
      6. Generation of function dispatch preambles
      7. Erasure of records
      8. Erasure of enums
      9. Desugaring of comprehensions
      10. Erasure of option types
      11. Removal of overloading
      12. Desugaring of capturing
    5. Mid-level intermediate representation
      1. Totalisation
      2. Context analysis
    6. Bytecode generation
    7. Bytecode interpretation
  3. MicroZinc specification
    1. Typing Rules
    2. Operational Semantics
  4. The MicroZinc Interpreter
  5. MiniZinc Syntax Changes
  6. Error handling