»Let's write a Lisp interpreter«
2019-06-05, 13:30–17:00, Room 1
One of the best way to understand how programming languages work (including Python), is to implement one.
Greenspun's tenth rule states that
Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.. Understanding how programming language work will make you a better programmer and gain a better understanding of Python itself.
We'll implement a small lisp like language and discuss language design & implementation issues and how they are found in Python.
- Lexing & Parsing: What are the implication of Python using whitespace for indentation?
- Variable scope & closures: Why we have
nonlocal in Python
- Types: Why the value of
1/2 changed from Python 2 to 3
- Evaluating code: Python's
exec and byte code interpreter. Why does
and short curcuit