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 are based on some lecture notes by Eli Barzilay. Mistakes are probably mine.

You can browse the examples directly or by tags.

ae bitmap brag byte code cheney-mta closures collector combinators continuations lecture lecture lecture de Bruijn ebnf environments eval exceptions first class functions flang free-list fun functions garbage collection generational incremental json lambda lazy lexer lexical scope mark and sweep metaevaluators mutation mutator parser-tools parsing plai plai-gc2 plait racket ragg recursion scheme substitution type checking type inference type rules types web applications

Lecture 0: Introduction. Plait.
Sun 12 Jan 2020 12:00:00 AM

Lecture 1: plait
Thu 14 Jan 2021 12:00:00 AM

Lecture 2: parsing
Sat 16 Jan 2021 12:00:00 AM

Lecture 3: recursive evaluation
Thu 21 Jan 2021 12:00:00 AM

Lecture 4: substitution
Mon 25 Jan 2021 12:00:00 AM

Lecture 5: substitution, lazy evaluation, and de Bruijn indices
Wed 27 Jan 2021 12:00:00 AM

Lecture 6: substitution and functions
Tue 02 Feb 2021 12:00:00 AM

Lecture 7: lambda, first class functions
Thu 04 Feb 2021 12:00:00 AM

Lecture 8: closures and lexical scope
Tue 09 Feb 2021 12:00:00 AM

Lecture 9: closures and metaevaluators
Thu 11 Feb 2021 12:00:00 AM

Lecture 10: recursion via cyclic environments and mutation.
Tue 16 Feb 2021 12:00:00 AM

Lecture 11: recursion via the Y-combinator
Thu 18 Feb 2021 12:00:00 AM

Lecture 12: Type rules
Tue 23 Feb 2021 12:00:00 AM

Lecture 13: Type Checkers
Thu 25 Feb 2021 12:00:00 AM

Lecture 14: Type unification / inference
Thu 11 Mar 2021 12:00:00 AM

Lecture 15: Continuations
Tue 16 Mar 2021 12:00:00 AM

Lecture 16: Continuation based interpreters
Thu 18 Mar 2021 12:00:00 AM

Lecture 17: Byte code / continuation based interpreters
Tue 23 Mar 2021 12:00:00 AM

Lecture 18: Two space garbage collection
Thu 25 Mar 2021 12:00:00 AM

Lecture 19: reference counting and plai/gc2
Tue 30 Mar 2021 12:00:00 AM

Lecture 20: Mark & Sweep
Thu 01 Apr 2021 12:00:00 AM

Lecture 21: Allocation improvements
Tue 06 Apr 2021 12:00:00 AM

Lecture 22: Generational Collection
Thu 08 Apr 2021 12:00:00 AM

Lecture 23: Generational Collection II
Tue 13 Apr 2021 12:00:00 AM