Class Notes
These are the class note files, each has a rendered HTML version as well as a text file version (which can be more convenient for reading off-line and for quick search and reference). Note that the last two entries in this list are special: one has all of the notes we covered in one file, and one has the notes we have yet to reach.
Lecture #1 (text) Tue, Sep 10 |
|
Lecture #2 (text) Tue, Sep 10 |
|
Lecture #3 (text) Tue, Sep 17 |
|
Lecture #4 (text) Tue, Sep 17 |
|
Lecture #5 (text) Tue, Sep 24 |
|
Lecture #6 (text) Tue, Sep 24 |
|
Lecture #7 (text) Tue, Oct 1 |
|
Lecture #8 (text) Tue, Oct 1 |
|
Lecture #9 (text) Tue, Oct 8 |
|
Lecture #10 (text) Tue, Oct 8 |
|
Lecture #11 (text) Tue, Oct 15 |
|
Lecture #12 (text) Tue, Oct 15 |
|
Lecture #13 (text) Tue, Oct 22 |
|
Lecture #14 (text) Tue, Oct 22 |
|
Lecture #15 (text) Tue, Oct 29 |
|
Lecture #16 (text) Tue, Oct 29 |
|
Lecture #17 (text) Tue, Nov 5 |
|
Lecture #18 (text) Tue, Nov 5 |
|
Lecture #19 (text) Tue, Nov 12 |
|
Lecture #20 (text) Tue, Nov 12 |
|
All notes (text) Tue, Nov 12 |
All class notes in a single file, convenient for searching through all of the material that we covered. |
Future notes (text) Tue, Nov 19 |
All future class notes, in a single file.
In case you want to read ahead in the material. Note that notes can change when we go over them in class. |
Handouts
- Email and Piazza Policies: Guidelines for writing posts
- Style Guide: Guidelines for writing better code
- Tips: Useful tips for PL work
- FAQ: Common frequently asked questions
- #lang pl work vs Fundies: Work with #lang pl vs Fundies
- About PLQ: What are these PLQs?
Interpreters
- ae.rkt — The AE interpreter (Lecture #4)
- wae.rkt — The WAE interpreter (Lecture #6)
- flang.rkt — The Flang interpreter (Lecture #8)
- flang-env.rkt — The Flang interpreter, using environments (Lecture #10)
- church.rkt — Making Schlac into a practical language (not an interpreter) (Lecture #13)
- church-alternative.rkt — An alternative “Church” encoding: use lists to encode numbers (Lecture #13)
- flang-box.rkt — The FLANG-BOX interpreter (Lecture #15)
- toy.rkt — The TOY interpreter (Lecture #16)
- sloth.rkt — The SLOTH interpreter (Lecture #19)
- sloth-cached.rkt — A call-by-need version of the SLOTH interpreter (Lecture #20)