UNB/ CS/ wiki/ teaching/ cs4613/ CS4613 Lectures

On this page, you will find slides and other materials presented in class. Most of these slides were originally based on some lecture notes by Eli Barzilay. Over the years they have mutated in various ways, most recently with some cosmetic changes to follow the 3rd edition of PLAI a bit better.

Mistakes are probably mine.

You can browse the examples directly or by tags.

bitmap conditionals continuation continuations copying copying-collection lecture dynamic-types dynamic dispatch environments exceptions first class functions free-list functions garbage collection generational generators hygiene incremental-gc inheritance interpreter let1 lexical scope local binding macro mark-and-sweep nominal-types objects parsing gc2 plait safety scheme smol stack-based-gc stacker static-types structural-types syntactic-continuations syntax-rules two-space type-calculator type-checker type-errors type-inference type-variants union-types values web programming

Lecture 1: Introduction
Tue Jan 9 13:00:00 2024

Lecture 2: Parsing, Conditionals, Values
Thu Jan 11 00:00:00 2024

Lecture 3: local binding
Tue Jan 16 00:00:00 2024

Lecture 4: Functions
Thu Jan 18 00:00:00 2024

Lecture 5: macros
Tue Jan 23 00:00:00 2024

Lecture 6: objects
Thu Jan 25 00:00:00 2024

Lecture 7: more objects
Tue Jan 30 00:00:00 2024

Lecture 8: Static Typing
Thu Feb 1 00:00:00 2024

Lecture 9: Static Typing II
Tue Feb 13 00:00:00 2024

Lecture 10: Safety
Thu Feb 15 00:00:00 2024

Lecture 11: Safety and tags
Tue Feb 20 00:00:00 2024

Lecture 12: Topics in Types
Thu Feb 22 00:00:00 2024

Lecture 13: Algebraic and Union Types
Tue Feb 27 00:00:00 2024

Lecture 14: Nominal and Structural types
Thu Feb 29 00:00:00 2024

Lecture 15: Generators and Continuations
Tue Mar 12 00:00:00 2024

Lecture 16: Web Programming and Continuations
Thu Mar 14 00:00:00 2024

Lecture 17: Continuation based intepreters
Tue Mar 19 00:00:00 2024

Lecture 18: Garbage Collection
Tue Mar 26 00:00:00 2024

Lecture 19: Reference counting and two-space collectors
Thu Mar 28 00:00:00 2024

Lecture 20: Mark and Sweep
Tue Apr 2 00:00:00 2024

Lecture 21: Allocators
Thu Apr 4 00:00:00 2024

Lecture 22: Generational Collection
Tue Apr 9 00:00:00 2024

Lecture 23: Incremental Collection and Stack Nursery
Thu Apr 11 00:00:00 2024