~/talk

When Toy Languages Grow Up

Talkat GopherCon 2021 · 2021-12-05..12-08· [compilers-and-language-design, go]
name:Linus Lee
links:none on file
slides:none on file

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

  1. 0:00Start
  2. 2:39Little languages are everywhere
  3. 3:59Why build a toy language?
  4. 9:30Oak's interpreter
  5. 16:16Tokenizer
  6. 17:39Token stream
  7. 18:34Parser
  8. 20:05Syntax tree
  9. 22:08Runtime
  10. 26:29The Extras: a language is more than its interpreter
  11. 29:05Self-hosted language tooling
  12. 32:03Writing interpreters in Go
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.