Building a Beginner's Programming Language with Go
summary
A beginner-friendly language called Evy is implemented in Go and runs in the browser via TinyGo WebAssembly, yielding about 200 KB output instead of megabytes. The implementation includes a tree-walking evaluator, a top-down recursive-descent parser and an expression parser using Pratt’s algorithm implemented as a compact parser in <90 lines of Go. The language exposes simple static types, canvas graphics and event handlers, has attracted ~220 pull requests, and the demo animations and drawing features work in the web demo.
AI-written summary · about
chapters (8)
- 0:00Introduction and motivation
- 4:44Designing a beginner language
- 11:49What is a parser
- 13:13Recursive descent parser
- 18:58Parsing expressions
- 23:15Operator precedence
- 29:01Community and future
- 31:49Q&A and summary
related talks
33mBuilding a small Language with Go for fun
31mRethinking Visual Programming
01h 00mHow to write a programming language and shell in Go with 92% test coverage and instant CI/CD
45mHow to Make a Programming Language
39mIs Go A Good Language to Build Compilers?
51mTinyGo, small but mighty! 💪
32mEat Your Greens (EYG) a predictable, & useful, programming language
38mWhen Toy Languages Grow Up
