Welcome to Comp308: Principles of Programming Languages’s documentation!¶
Contents:
- Welcome note
- A quick introduction to Racket and Scheme
- λ - the everything
- Lambda - via β-abstraction
- A language for pictures
- A language for arithmetic
- A mental model for the machine
- Notional machine
- Growing the language
- Functions and scope
- Functions and scope (arithmetic track)
- Stacks and scope
- Functions in PicLang
- Mutations
- Control
- Generators
- On the choice between “error” and “do something reasonable” in design
- Polymorphism via dispatch
- Alternative application semantics
- Types: Checking some program invariants statically