Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

🧭 Roadmap

✔️ Mission 1

  • Hindley-Milner type inference
  • Safe subset of System Fω
  • Algebraic Data Type (ADT)

✔️ Mission 2

  • Traits a.k.a., Type Class
  • Trait Record - Type Class as first-class record value

✔️ Mission 3

  • Multi-Parameter Type Class (MPTC)
  • Higher-order Trait Record - MPTC as first-class record value
  • Overloaded Function Template
  • Type and requires inference w/o type annotation

Extra Mission 1

  • Safe and Unsafe numeric conversion
  • Array, String type
  • Pretty-Printing Combinators
  • Stream for Parser Combinators
  • Parser Combinators
  • Safe Type Family (type trait/type impl)
  • String Family Literals

Extra Mission 2 - Proc system

  • Procedures with side-effects
  • Dynamic arrays (mutable / growable arrays)
  • Standard I/O
  • File I/O
  • Async-Computation and Async I/O combinators

Extra Mission 3 - Optimization

  • Unboxed arrays (for non-primitive types)
  • Object file, Link-Loader
  • Alias analysis and reuse analysis of heap memory.
  • LLVM IR code generator.

It’s a long, long journey…