Summary: Advprog 2026-04-23 — Code Transformation
Table of Contents
Key Claims
- This class moves from arithmetic interpretation to code transformation, introducing the Python interpreter track within tolk.
- Students are directed to create a
pythonbranch in their tolk fork. - The jotter for this class is empty (no live-coded content), suggesting the session was primarily organisational / branch-setup.
Summary
The 2026-04-23 class follows on from the interpreter introduction:
- Aspects of Lisp: CLOS (continued)
- Tolk: Students fork the repo, create a
pythonbranch, set up git remotes to pull from the upstream tolk repo and push to their own fork. - Ungraded assignment: Lisp packaging and pattern matching (continued)
- Final assignment: Interpreters (announced)
The 20260423-jotter.org is essentially empty (only a header with
:eval :no property), indicating no live-coded content was captured.
The introduction of Python parsing in tolk represents a significant step:
the move from a toy s-expression language (arith) to parsing a real
(subset of a) programming language with a different surface syntax.
This will require a proper parser combinator approach (tolk/parser-combinators
is already in the codebase).
Notes
- The class is called "Code Transformation" — this refers to desugaring (PLAI Ch.4) as well as to the transformation from Python surface syntax to an AST.
- The tolk Python track is separate from the Racket/arith track and beyond the scope of the current ingest.