CS 6983 Special Topics: The Technology of Lambda Spring 2025 There may, indeed, be other applications of the system than its use as a logic. -A. Church * Basic information ------------------- Professor: Olin Shivers shivers@ccs.neu.edu Office hours: & by appt WVH room 318 Lectures: Tue/Fri 3:25-5:05 Ryder 128 Web page: http://www.khoury.neu.edu/~shivers/cs6983 Piazza: https://piazza.com/northeastern/spring2026/cs6983 ------------------------------------------------------------------------------- * Lectures ---------- 29 classes -- no Monday holidays! Note: The lecture schedule is apt to change over time as the course progresses, so consult the on-line version at http://www.khoury.neu.edu/~shivers/cs6983/sched.txt for the up-to-date information. # Date Topic -- -------- ----- 01 Fri 1/ 2 Intro & overview of lambda-based compilers 02 Tue 1/ 6 Nanopass intro 03 Fri 1/ 9 CPS I: Big idea, propaganda, converters 04 Tue 1/13 CPS II: Engineering (Orbit, Kennedy) 05 Fri 1/16 CPS III 06 Tue 1/20 Lambda calculus I 07 Fri 1/23 Lambda calculus II 08 Tue 1/27 Scope analysis & local simplification - no-brainer reductions 09 Fri 1/30 BUBS & efficient beta-reduction on terms 10 Tue 2/ 3 Closure reps / high-level view 11 Fri 2/ 6 Syntactic extraction of 1st-order control skeleton 12 Tue 2/10 Closure conversion 13 Fri 2/13 Closure conversion: LETRECs 14 Tue 2/17 Closure conversion: continuations & the stack 15 Fri 2/20 The general monotone data-flow analysis framework I 16 Tue 2/24 The general monotone data-flow analysis framework II 17 Fri 2/27 Higher-order flow analysis I -- Tue 3/ 3 Spring break -- no class -- Fri 3/ 6 Spring break -- no class 18 Tue 3/10 Higher-order flow analysis II 19 Fri 3/13 Higher-order flow analysis III 20 Tue 3/17 Webs: Reaching defs, call/lambda, UVE, dataflow path width 21 Fri 3/20 Defunctionalisation & monomorphisation: Mlton & Stalin 22 Tue 3/24 3CPS: binding extent, alloc on entry 23 Fri 3/27 Polymorphism & data representations 24 Tue 3/31 GC: three basic algorithms 25 Fri 4/ 3 GC: generational, write barriers 26 Tue 4/ 7 GC: read barriers, concurrency, atomic consing, call/cc 27 Fri 4/10 Eta as a tool / tail-calls in C 28 Tue 4/14 TBD 29 Fri 4/17 TBD / wrapup (Currently) Dropped: ANF I: History, theory, propaganda (Invite MF?) ANF II: Engineering payoff of theory Possibles: Case statements Simple 0CFA Type-directed compilation: SML/NJ TIL Opportunities for 64b & wider machines Macro hygiene DSLs & macros Displays * Papers -------- Lambda: Declarative Kennedy CPS Orbit ICFP Orbit Kranz diss Kelsey diss -- TC compiler Hecht Cousot '77 Nilson, Principle of Program Analysis Shivers: diss & PLDI '88, PEPM '91 Appel & Jim on simple contractors; Shivers no-brainer CPS Muchnick's text Mlton ?? Stalin ?? ANF ?? SML/NJ conf paper Compiling with Continuations, Appel Dybvig -- stacks & continuations Shivers -- atomic consing HOPL macro paper (Wand & Clinger) Bawden exrename Keep nanopass Morrissett TIL & TAL 3CPS intro paper Shivers DSL via macros