If you notice any errors, please tell me.
Lecture Notes
- Lecture 1: Studying Programming Languages (1/25/99)
- Lecture 2: Parsing (1/27/99))
- Lecture 3: The Scope of Variables (1/29/99,2/1/99)
Reference: Essentials ..., pages 55-75
- Lecture 4: A Syntactic Interpreter for LC (2/3/99,
2/5/99)
Reference: Essentials ..., chapter 4
- Lecture 5: A Meta Interpreter for LC
(2/8/99,2/10/99,2/12/99 )
Reference: Essentials ..., chapter 5; Little ...,
chapter 10
- Lecture 6: Recursive Binding
(2/15/99,2/17/99,2/19/99)
Readings: Little ..., chapter 9; Felleisen's The
Why of Y
- Lecture 6 Supplement: Data Domains Supporting Recursive
Definitions
(2/22/99,2/24/99,2/26/99)
- Lecture 7: Assignment and Mutability
(3/1/99,3/3/99,3/5/99)
Reference: Essentials ..., chapter 6
- Lecture 8: Environment Representation and Control
(3/15/99,3/17/99,3/19/99,3/22/99)
- Lecture 9: What Is a Type? (3/24/99)
- Lecture 10: Types and Safety (3/26/99)
- Lecture 11: Types and
datatype
(3/29/99)
- Lecture 12: Polymorphism
(4/2/99,4/5/99)
- Lecture 13: Implicit Polymorphism
(4/7/99, 4/9/99)
- Supplement to Lecture 13: Description of
Implicitly Polymorphic Jam
(4/12/99)
- Lecture 14: Meaning of Function Calls
(4/14/99)
- Supplementing Lecture 14: The Meaning of letcc
and error
- Lecture 15: The True Meaning of Function
Calls
- Lecture 16: How to Eat Your Memory and Have It Too
- Supplemental Lectures: The Java Virtual Machine
The most basic expository articles appear at the end of the index. Read it from the bottom up.
Resources
- Essentials
- Essentials of
Programming Languages by Friedman, Wand and Haynes
- Little
- The Little Schemer (née
LISPer) by Friedman and Felleisen
- Seasoned
- The Seasoned Schemer by Friedman
and Felleisen
- R5RS
-
The Revised^5 Report on Scheme
- Art
- Scheme and the Art of Programming by Springer and Friedman
- C&W
- Luca Cardelli and Peter Wegner, ``On Understanding Types, Data Abstraction
and Polymorphism'', ACM Computing Surveys, Vol. 17, No. 4, December
1985, pp. 471-522
- S&F
- Amr Sabry and Matthias Felleisen, ``Reasoning about Programs in Continuation-Passing
Style'', Lisp and Symbolic Computation, Vol. 6, 1992, pp. 289-360
- H,D&B
- Robert Hieb, R. Kent Dybvig and Carl Bruggeman, ``Representing Control
in the Presence of First-Class Continuations'', Proceedings of the ACM
SIGPLAN Conference on Programming Language Design and Implementation,
June 1990, pp. 66-77