Building a LISP Machine
A great way to learn a programming language is to write a compiler for it. Carlo will show how to implement a virtual machine emulator for a stack machine and then write a compiler for a mini-Lisp language that targets the stack machine. The mini-Lisp language is a pure functional language as it has no destructive variable updates. Along the way he'll explain some Lisp folklore and reflect on non-Von Neumann architectures and actual hardware implementations of these architectures.
Prerequisites: Some familiarity with Python syntax, lambda expressions and basic data structures (lists and stacks).
Carlo works on cloud computing solutions at the University of Queensland. When he isn't doing functional programming, he likes relaxing with a home brew and reading periodicals like The Idler.