Programming Language Theory Implementation
The topic for CS252R Fall 2024 is Programming Language Theory Implementation: how to take theory papers and implement corresponding working prototypes. For example, in CS152, you saw how to implement a converter to continuation-passing style and a type inferencer following the theoretical descriptions in lecture. In this class, we will look at putting theory into practice for various topics: depending on the interest of the class, topics might include constraint logic programming, program synthesis, abstract interpretation, reflective towers, multi-stage programming, JIT compilation, and differentiable programming. As a student in the class, you will present a theory paper that has an accompanying artifact and lead the discussion on both the theory and the implementation. At the end of the semester, you will pursue a final project, where you implement a theory of your choice in the language/system of your choice. To warm up, we will also each implement a common paper, to be chosen collectively, and we will discuss the trade-offs of our approaches.
- Assignments:
- Paper Presentation & Discussion:
- Final Project: