Build an Interpreter
Start with numbers and arithmetic. End with a language that has variables, functions, conditionals, and loops.
You’ll write an evaluate function that grows with each problem; adding new rules for how your language works. Each rule is small. Each problem extends what you’ve already built. By the end, you’ve made something that runs real programs, and you understand every line of it.
01
Evaluating Expressions
beginner0/4
02
Variables and Functions
beginner0/2
03
Conditionals
beginner0/3
04
Refactoring with Currying
intermediate0/2
05
Recursion
intermediate0/2
06
Use Your Language
intermediate0/10
07
Syntactic Sugar
intermediate0/2
08
Pairs
intermediate0/4
09
Lists
intermediate0/4
10
Interpreters
intermediate0/4