Developing a Monadic Type Checker for an Object-Oriented Language
summary
An experience report describes building the Encore compiler front end in Haskell, a codebase of 15,000 lines of Haskell with roughly 7,000 lines for the type checker and an initial 450-line prototype. It implements back-traces for richer error messages, a global environment via reader-like monads, reporting of multiple errors, and phantom types to track compiler phases; the artifact compiles and was accepted, while the code-generation component is noted as fragile.
AI-written summary · about
chapters (8)
- 0:00Introduction
- 0:30Upscale Project
- 1:40Experience Report
- 5:40OnCore
- 6:52Initial Approach
- 8:25Backtraces
- 13:01Demo
- 13:30Conclusions
related talks
02h 50mIntro to Type Systems and Operational Semantics
01h 07mBuilding a Dependently Typed Language in Haskell Part 1
27mLimiting side-effects of applications at compile-time
36mFlexible Instruction-Set Semantics via Abstract Monads
27mCompiler-Level Static Checks: Enforcing Safe Functional Dev Patterns
41mA Decision Maker's Guide to Typed Functional Languages
15mMonadic Compiler Calculation (Functional Pearl)
42mFunctional interpreters and you
