University of Chicago Programming Languages Reading Group

The Programming Languages Reading Group, part of PL research at UChicago, is an occasional, informal meeting to discuss interesting PL papers. Food is provided. Visitors welcome!

To receive announcements, sign up for the pl-readinggroup mailing list.

To suggest a paper, open an issue on the Github page. We’ll close the issue when we schedule the paper.


For the Winter 2018 term, we meet on Tuesdays, 2pm–3pm in Eckhart 129.

Date Paper Leader
2018–1–9 A Principled Approach to Ornamentation in ML (POPL ’18) Joe
2018–1–16 Hazelnut: A Bidirectionally Typed Structure Editor Calculus (POPL ’17) (Demo) Cyrus
2018–1–23 Postponed by Illness
2018–1–30 1ML – Core and Modules United (JFP ’16) Brian
2018–2–6 Every Bit Counts: The Binary Representation of Typed Data and Programs (JFP ’12) Joe
2018–2–13 The Next 700 Programming Languages (CACM ’66) & Why Concatenative Programming Matters (Blog post ’12) Kartik & Joe
2018–2–20 Sketch-n-Sketch WIP Demo Brian
2018–2–27 TBA TBA
2018–3–6 TBA TBA
2018–3–13 TBA TBA
2018–3–20 Contification using Dominators (ICFP ’01) Kavon

Past Terms

Fall 2017

For the Fall 2017 term, we met on Thursdays, 3pm–4pm in Ryerson 276.

Date Paper Leader
2017–11–09 Structured Asynchrony with Algebraic Effects (TyDe ’17) (Video) Brian
2017–11–16 Tracing Lazy Functional Computations Using Redex Trails (PLILP ’97) Brian
2017–11–23 Thanksgiving
2017–11–30 Type Directed Compilation of Row-Typed Algebraic Effects (POPL ’17) Kavon
2017–12–14 Functional Programs That Explain Their Work (ICFP ’12) (Video) Brian

Spring 2017

Reading Group did not meet during the Spring 2017 term. The Program Synthesis Seminar crowded it out.

Winter 2017

For the Winter 2017 term, we met on Fridays, 11:30–12:30pm in Ryerson 277.

Date Paper Leader
2017–1–13 Polymorphism, Subtyping, and Type Inference in MLsub (POPL ’17) (ICFP ’15 Video) Brian
2017–1–20 Compiling Without Continuations (In submission) Kavon
2017–1–27 Learning Refinement Types (ICFP ’15) (Video) Brian
2017–2–03 Refinement Reflection (or, how to turn your favorite language into a proof assistant using SMT) (draft) Brian
2017–2–17 Language primitives and type discipline for structured communication-based programming (ESOP ’98) Brian
2017–2–24 Programming with Algebraic Effects and Handlers Joe
2017–3–17 Retrofitting Linear Types (In submission) Joe

Fall 2016

For the Fall 2016 term, we met on Fridays, 12:30pm–1:30pm in Ryerson 276.

Date Paper Leader
2016–10–14 Semi-Automated SVG Programming via Direct Manipulation Brian
2016–10–21 Automatic Generation of Peephole Superoptimizers Kavon
2016–10–28 Dag-Calculus: A Calculus for Parallel Computation Kavon
2016–11–04 A correspondence between rooted planar maps and normal planar lambda terms Joe