When Toy Languages Grow Up
summary
Built in Go, Oak is a small dynamic language whose interpreter is a tokenizer → recursive‑descent parser → AST → evaluator pipeline, produced as a 7 MB Go binary. Thousands of lines of Ink/Oak programs power compilers, ray tracers, web apps and personal dashboards that reach tens of thousands of users; runtime uses a global engine with a mutex‑guarded interpreter lock and goroutines for I/O concurrency. Tooling is self‑hosted (formatter, bundler, JS compiler); C GUI interop is noted as problematic.
AI-written summary · about
chapters (12)
- 0:00Start
- 2:39Little languages are everywhere
- 3:59Why build a toy language?
- 9:30Oak's interpreter
- 16:16Tokenizer
- 17:39Token stream
- 18:34Parser
- 20:05Syntax tree
- 22:08Runtime
- 26:29The Extras: a language is more than its interpreter
- 29:05Self-hosted language tooling
- 32:03Writing interpreters in Go
related talks
26mWhen Toy Languages Grow Up
32mBuilding a Beginner's Programming Language with Go
59mUnleashing the Go Toolchain
21mGOOL: A Generic Object-Oriented Lanugage
01h 00mHow to write a programming language and shell in Go with 92% test coverage and instant CI/CD
39mIs Go A Good Language to Build Compilers?
33mBuilding a small Language with Go for fun
57mGo Language
