UNB/ CS/ David Bremner/ 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.

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

Lecture 1: Introduction

Lecture 2: Parsing, Conditionals, Values

Lecture 3: local binding

Lecture 4: Functions

Lecture 5: macros

Lecture 6: objects

Lecture 7: more objects

Lecture 8: Static Typing

Lecture 10: type safety

Lecture 9: types II

Lecture 11: type safety

Lecture 12: type safety

Lecture 13: Algebraic and Union Types

Lecture 14: Structural and Nominal Types

env.dot

env-question.dot

Lecture 15: Generators and Continuations

Lecture 16: Web Programming and Continuations

Lecture 17: Continuation based intepreters

Lecture 18: Garbage Collection

Lecture 19: Reference counting and two-space collectors

Lecture 20: Mark and Sweep

Lecture 21: Allocators

Lecture 22: Generational Collection