We did some preparatory refactoring ("prefactoring") to inject a simple SymbolTable in to the evaluate() method of all Expressions. Then we test-drove a simple symbol table that could store and retrieve a name. (It doesn't handle nested contexts yet.) We used that to parse a simple expression, and evaluate the expression using the symbol table for context.
We'd like to handle function definitions, but we're starting by handling lambda expressions (anonymous functions) first. We've got the new tokens ("\" and "→") but we don't yet evaluate them.
Ещё видео!