Function definitions and function calls, supporting lexical scope with closures, will be added to our language specs and implementations.
We turn again to Scheme to understand the idea of functional programming in a multi-paradigm language, and will see through our own implementation as well as writing code in functional languages, how this one powerful abstraction allows us to implement complex data structures and even something like objects.
Classes
- Class 4.1: Closures and lambdas in Scheme and elsewhere (Monday 26 October)
- Class 4.2: Frames and closures (Wednesday 28 October)
- Class 4.3: Objects with lambda and message passing (Monday 02 November)
- Class 4.4: Currying and finishing up closures (Wednesday 04 November)
Homeworks
Labs
- Lab 4.1: Syntax for a functional language (due 23:59 on Wednesday 04 November)
- Lab 4.2: Interpreter for functional language (due 23:59 on Thursday 12 November)