Advanced topics in programming languages
Tentative seminar schedule
Seminars take place at 3pm on Mondays in FW26.- Week 1 (Mon 14 October 2024)
- Introduction
Materials: - Week 2 (presentations on Mon 21 October 2024)
- Garbage collection
Materials: Assigned papers:-
A unified theory of garbage collection
(OOPSLA 2004)
David F. Bacon, Perry Cheng and V. T. Rajan -
Quantifying the performance of garbage collection vs. explicit memory management
(OOPSLA 2005)
Matthew Hertz and Emery D. Berger -
Fast conservative garbage collection
(OOPSLA 2014)
Rifat Shahriyar, Stephen M. Blackburn and Kathryn S. McKinley
-
A unified theory of garbage collection
- Week 3 (presentations on Mon 28 October 2024)
- Delimited continuations
Materials: Assigned papers:-
Delimited control in OCaml, abstractly and concretely
(Theor. Comput. Sci. 2012)
Oleg Kiselyov -
Implementing first-class polymorphic delimited continuations by a type-directed selective CPS-transform
(ICFP 2009)
Tiark Rompf, Ingo Maier and Martin Odersky -
Continuing WebAssembly with Effect Handlers
(OOPLSA 2023)
Luna Phipps-Costin, Andreas Rossberg, Arjun Guha, Daan Leijen, Daniel Hillerström, KC Sivaramakrishnan, Matija Pretnar and Sam Lindley
-
Delimited control in OCaml, abstractly and concretely
- Week 4 (presentations on Mon 4 November 2024)
- Dependent types
Materials: Assigned papers:-
The Size-Change Principle for Program Termination
(POPL 2001)
Chin Soon Lee, Neil D. Jones and Amir M. Ben-Amram -
IDRIS ---: systems programming meets full dependent types
(PLPV 2011)
Edwin C. Brady -
Why Dependent Types Matter
(Unpublished, 2005)
Thorsten Alternkirch, Conor McBride and James McKinna
-
The Size-Change Principle for Program Termination
- Week 5 (presentations on Mon 11 November 2024)
- Module systems
Background reading (optional):- Section 11 (Related work and discussion) of F-ing modules, extended version (Andreas Rossberg, Claudio Russo and Derek Dreyer, JFP 2014)
- Chapter 1 (The Design Space of ML Modules) of Understanding and Evolving the ML Module System (Derek Dreyer, 2005)
-
A Type-Theoretic Approach to Higher-Order Modules with Sharing
(POPL 1994)
Robert Harper and Mark Lillibridge -
Applicative Functors and Fully Transparent Higher-Order Modules
(POPL 1995)
Xavier Leroy -
F-ing Modules
(TLDI 2010)
Andreas Rossberg, Claudio Russo, and Derek Dreyer
- Week 6 (presentations on Mon 18 November 2024)
- Abstract interpretation
Materials:-
The Octagon Abstract Domain
(Eighth Working Conference on Reverse Engineering, 2001)
Antoine Miné -
Fast Polyhedra Abstract Domain
(POPL 2017)
Gagandeep Singh, Markus Püschel, and Martin Vechev -
A Formally-Verified C Static Analyzer
(POPL 2015)
Jacques-Henri Jourdan, Vincent Laporte, Sandrine Blazy, Xavier Leroy, and David Pichardie
-
The Octagon Abstract Domain
- Week 7 (presentations on Mon 25 November 2024)
- Partial evaluation
Materials: Background reading (optional):- Partial Evaluation and Automatic Program Generation (N.D. Jones, C.K. Gomard, and P. Sestoft, 1993)
-
Continuation-based partial evaluation
( LISP and Functional Programming, 1994)
Julia L. Lawall and Olivier Danvy -
Eta-Expansion Does The Trick
(TOPLAS, 1996)
Olivier Danvy, Karoline Malmkjær, and Jens Palsberg -
The essence of LR parsing
(PEPM, 1995)
Michael Sperber and Peter Thiemann
- Week 8 (presentations on Mon 2 December 2024)
- Program synthesis
Materials: Background reading (optional):- Program Synthesis (S. Gulwani, O. Polozov and R. Singh, 2017.)
-
Type-and-example-directed program synthesis
(PLDI 2015)
Peter-Michael Osera and Steve Zdancewic -
Program Synthesis from Polymorphic Refinement Types
(PLDI 2016)
Nadia Polikarpova, Ivan Kuraj, and Armando Solar-Lezama -
Recursive Program Synthesis using Paramorphisms
(PLDI 2024)
Qiantan Hong and Alex Aiken