Typing a LISP
summary
A Lisp dialect called Takada claims to give static-typing benefits while staying dynamic: a gradual algebraic dependent type system that uses runtime assertions promoted up the call tree so many checks vanish at compile time. The compiler is self-hosting ~5k LOC and emits a single C file, already targeting compiles to C and WebAssembly (tests pass except multithreaded futures). Reference counting replaces GC, tail calls rely on C/LLVM, and git-based deps are supported.
AI-written summary · about
chapters (18)
- 0:00Intro
- 0:55What is Takada
- 4:07The Meat of Things
- 4:40Main
- 7:16Flatmap
- 9:45Add Numbers
- 12:12Type Inference
- 15:06Interpose
- 18:32Static typing
- 22:31Soft typing
- 25:45FrogNets
- 29:33Product Types
- 33:43Algebraic Data Types
- 39:41Higher Kind of Types
- 44:36Dependencies
- 45:43Crosscompiling
- 47:16Lazy expressions
- 48:03Reference counting








