ICFP 2026: Track Overview
Table of Contents
- 1. Overview
- 2. Track map
- 3. ICFP Keynotes
- 4. ICFP Papers
- 4.1. Tue 10:30 — Types, Testing, and Data Structures
- 4.2. Tue 13:30 — Memory Models, Garbage Collection, and Concurrency
- 4.3. Tue 15:30 — Types, Semantics, and Probabilistic Programming
- 4.4. Wed 10:30 — Languages and DSLs
- 4.5. Wed 13:30 — Testing and Verification
- 4.6. Thu 10:30 — Program Analysis
- 4.7. Thu 13:30 — Dependent Types and Proof
- 4.8. Thu 15:30 — Effects, Semantics, and Program Analysis
- 5. ICFP SRC
- 6. Business meeting
- 7. ICFP Tutorials
- 8. Workshops
- 8.1. miniKanren — Mon, HO221
- 8.2. HOPE — Mon, IP137
- 8.3. FARM — Mon, IP132 + Madam Walker Theatre
- 8.4. PLMW @ ICFP — Mon, IP126
- 8.5. OCaml Workshop (watch party) — Mon, HO223
- 8.6. LOPSTR+PPDP — Thu–Fri, IP137
- 8.7. Haskell Symposium — Fri–Sat, IP126
- 8.8. Scheme — Sat, IP132
- 8.9. Erlang, ML Family, FUNARCH
- 9. Diversity, Equity, and Inclusion
- 10. Alignment with wal.sh research
- 11. Related
- 12. Notes
1. Overview
The 39th ACM SIGPLAN International Conference on Functional Programming. Indiana University Indianapolis, 24–29 August 2026. Program at https://icfp26.sigplan.org/program/program-icfp-2026/.
Six days, two shapes. Monday is workshops-only across five rooms with no plenary. Tuesday through Thursday is the main conference: one keynote each morning, then a single ICFP Papers track in the Auditorium, with workshops running beside it from Thursday afternoon. Friday and Saturday return to workshops, anchored by the Haskell Symposium and the Scheme Workshop.
1.1. Basics
| Field | Value |
|---|---|
| Dates | – |
| Venue | Indiana University Indianapolis; Madam Walker Legacy Center |
| Host | ACM SIGPLAN |
| URL | https://icfp26.sigplan.org |
| Format | In-person, remote participation supported; sessions streamed |
| Streams | https://icfp26.sigplan.org/attending/live-streams |
| Chat | https://discord.gg/icfp26 |
| Zone | Eastern (GMT-04:00) — all times below are conference-local |
1.2. Rooms
| Code | Room | Primary occupant |
|---|---|---|
| IP126 | Auditorium | Keynotes, ICFP Papers, PLMW, Haskell |
| IP132 | Kelley | FARM (Mon), Scheme (Sat) |
| IP137 | Kelley | HOPE (Mon), LOPSTR+PPDP (Thu–) |
| HO221 | Presidents Room | miniKanren (Mon) |
| HO223 | Indiana Room | OCaml watch party, Tutorials, DEI lunches |
| IP127 / IP199 | Auditorium Lobby, Slate Hallway | Poster reception |
| --- | Madam Walker Legacy Center Theatre | FARM Performance |
2. Track map
Plenary runs Tuesday–Thursday; the workshop blocks bracket it on Monday and again Friday–Saturday.
| Track | Mon 24 | Tue 25 | Wed 26 | Thu 27 | Fri 28 | Sat 29 |
|---|---|---|---|---|---|---|
| Keynotes + ICFP Papers | ● | ● | ● | |||
| miniKanren | ● | |||||
| HOPE | ● | |||||
| FARM | ● | |||||
| PLMW | ● | |||||
| OCaml watch party | ● | |||||
| Tutorials | ● | |||||
| LOPSTR+PPDP | ● | ● | ||||
| Haskell Symposium | ● | ● | ||||
| Scheme | ● |
Erlang, ML Family, and FUNARCH occupy the Friday–Saturday block; room and session assignments for those three were not yet resolved on the program page at the time of writing.
3. ICFP Keynotes
Three, one per main-conference morning, all in IP126.
| Day | Speaker | Title | Chair |
|---|---|---|---|
| Tue | Edward Lee | Deterministic Concurrency | Serrano |
| Wed | Lindsey Kuper | Interpreters everywhere! | Tobin-Hochstadt |
| Thu | Daan Leijen | Efficient strong functional programming with effects and compiler guided reference counting | Findler |
Leijen is the one with the sharpest claim attached. Effects plus compiler-guided reference counting is a performance argument for effect systems rather than an expressiveness one — Koka's bet that the abstraction survives contact with the allocator. Lee's is the Lingua Franca model-of-computation position: determinism as a property you design the concurrency model to preserve, not a property you test for afterward. Kuper sits between distributed systems and PL.
Two further keynotes sit inside workshops: Jason Hemann (A Lean, Mean, miniKanren Machine, Mon 16:00) and Stephanie Weirich (Functional / Logic Programming in Verse, Thu 14:00, LOPSTR+PPDP). Matthew Flatt opens Scheme on Saturday with Rhombus: The Non-Shrubbery Parts, and Ravi Chugh opens Haskell on Friday with The Next 700 Block-Based Editors. Stephen Taylor gives the FARM performance keynote Monday evening.
4. ICFP Papers
Single track, IP126, six sessions across Tuesday–Thursday. Eighteen-minute slots. Four Distinguished Papers, all in the first session.
4.1. Tue 10:30 — Types, Testing, and Data Structures
Chair: Steve Zdancewic.
- Inlining as a space optimization: a simple time- and space-invariant implementation of the weak lambda-calculus — Balabonski (Distinguished, remote) DOI
- First-Class Constrained Types: Elaboration, Type Inference, Approximation, and a Characterization of Termination — Lam, Ferrari-Dominguez, Parreaux (Distinguished) DOI
- Programmable Property-Based Testing — Keles, Frank, Mert, Goldstein, Lampropoulos (Distinguished) DOI
- A Catenable, Splittable, Transient Sequence Data Structure — Charguéraud, Pottier (Distinguished) DOI
- Adapting the MVVM pattern to C++ frontends and Agda-based backends — Csimma (JFP First Paper)
Programmable PBT is the session's essential paper for anyone who writes generators. The claim is that generator construction should itself be a programmable interface rather than a fixed combinator library — which is the same question the Hegel universal-PBT protocol asks from the other end.
4.2. Tue 13:30 — Memory Models, Garbage Collection, and Concurrency
Chair: Mae Milano.
- Tail Modulo Async-Await — Nardino, Henrio, Radanne, Zakowski (remote) DOI
- Set-Theoretic Types for Erlang in Practice — Schimpf, Bieniusa (remote) DOI
- Mode Crossing — Peters, Jacobs, Kalinichenko, Stevenson, Smith, Dreyer, Eisenberg DOI
- A Separation Logic for Parallel Time Complexity with Work and Span Credits — Moine, Westrick, Tassarotti DOI
- LoCalMem: Type-Directed Adaptive Serialization for Location- and Content-Addressable Memory — Rainey, Borkowski, Vollmer, Koparkar, Kainen, Singhal DOI
Mode Crossing is the Jane Street/MPI-SWS OxCaml mode system in the open. The Moine/Westrick/Tassarotti separation logic turns cost into a resource you carry in the proof — work and span as credits, spent like permissions.
4.3. Tue 15:30 — Types, Semantics, and Probabilistic Programming
Chair: Leonidas Lampropoulos.
- Another Type Inference Algorithm for First-class Implicit Polymorphism — Morris DOI
- Same Coeffect, Different Base: Connecting Two Dominant Approaches to Graded Types — Liepelt, Marshall, Orchard DOI
- Towards a Higher-Order Bialgebraic Denotational Semantics — Goncharov, Peressotti, Tsampas, Urbat, Volpe DOI
- LazyHMC: Hamiltonian Monte Carlo simulation for lazy, infinite dimensional probabilistic programs — Craciun, Ong, Schrijvers, Staton DOI
- Imprecise Probabilistic Programming, Precisely (Functional Pearl) — Liell-Cock, Staton DOI
Followed by industrial sponsor introductions at 17:00 and the poster reception 17:30–21:30 in the Auditorium Lobby and Slate Hallway.
4.4. Wed 10:30 — Languages and DSLs
Chair: Benjamin Delaware.
- QuickChecking Convergence of Rewriting Systems (Functional Pearl) — Claessen (remote) DOI
- Safety First: How to Safely Disregard Unsafe Behaviour in Compiler Calculations — Bahr (remote) DOI
- Assertions for Free: Transferring Invariants from Algorithm to Implementation Proofs (Functional Pearl) — Wu, Yang, Wu, Cao DOI
- Package Managers à la Carte — Gibb, Ferris, Allsopp, Gazagnaire, Madhavapeddy DOI
- Compositional Generator Equivalence — Vandikas, Sotoudeh, Chechik DOI
Assertions for Free is the refinement-transfer paper: an invariant proved at the algorithm level discharged for free at the implementation level. That is the contract-preservation problem, named.
4.5. Wed 13:30 — Testing and Verification
Chair: Derek Dreyer.
- Bimodels and Biorthogonality for Abstract Machines — Tune, Kavvos DOI
- Let It Be Optimized: Building Multi-Stage Evaluators with Let-Insertion and Optimizations in Small Pieces (Functional Pearl) — Wei, Tan, Zhong DOI
- Animated Pictures for Slide Presentations (Functional Pearl) — Flatt, Findler, Flatt DOI
- Unscanning by Möbius Inversion (Functional Pearl) — Nakano (remote) DOI
4.6. Thu 10:30 — Program Analysis
Chair: Ben Greenman.
- RunbookFX: Type- and Effect-Safe LLM Synthesis for Executable Incident Diagnosis and Mitigation — Xiao, Li, Ge (remote) DOI
- Machine-Generated, Machine-Checked Proofs for a Verified Compiler (Experience Report) — Paraskevopoulou DOI
- Proofs Promptly: Proof-Oriented Programming with AI Agents (Experience Report) — Ioannidis, Swamy, Ebner, Philipose, Ramananandro DOI
- Programming Backpropagation with Reverse Handlers for Arrows — Sanada, Hoshino, Hirai, Katsumata DOI
- On Recursion in Graded Modal Type Theory — Eriksson, Abel, Danielsson DOI
The two experience reports are the closest ICFP has come to admitting the agent question into the papers track. Both take the same position — generate freely, check mechanically — which is the only position that survives contact with a proof assistant. RunbookFX applies the same discipline to incident response: the effect type is the contract on what a synthesized runbook is permitted to touch.
4.7. Thu 13:30 — Dependent Types and Proof
Chair: Sam Westrick.
- Confluence Techniques for Dependent Type Theory with Typed Conversion — Felicissimo, Winterhalter (remote) DOI
- An Equational and Graphical Fixed-Point Calculus (Functional Pearl) — de Mendonça Freire, Gualandi, Nobrega, Paixao (remote) DOI
- Citrus: Algebraic Reasoning About Superconductor Electronics — Kringen, Hardekopf, Sherwood DOI
- Compositional Neural-Cyber-Physical System Verification in the Interactive Theorem Prover of Your Choice — Daggitt, Komendantskaya, Bruni, Teuber, Sirman, Passmore, Smart DOI
- Completeness of Iris-Based Program Logics — Hostert, Zhang, Liu, Gregersen, Jung, Tassarotti DOI
4.8. Thu 15:30 — Effects, Semantics, and Program Analysis
- HMCFA: A Precise and Practical Big-Step Control Flow Analysis for Effect Handlers — Whiting, Germane (remote) DOI
- When Types Intersect and Effects Get Handled — Catozi, Dal Lago, Sekiyama DOI
- Demand-on-Demand Control-Flow Analysis — Kang, Germane DOI
- Adequacy for Predicate Transformer Semantics — Watanabe, Ikebuchi, Kori DOI
- Misquoted No More: Securely Extracting F* Programs with IO — Andrici, Pribisova, Ahman, Hriţcu, Rivas, Winterhalter DOI
Misquoted No More is the extraction-trust paper: what survives the trip from verified F* source to running code with real IO. Extraction is where most verification stories quietly lose their guarantee.
5. ICFP SRC
Wed 14:45–15:15, IP126. Five six-minute poster presentations; awards during the business meeting.
- Better Safe and Sorry: Tabular Types for Dynamic Languages — Chan, Toro, Ye
- Coverage Types Modulo Equivalences — Prakash, Delaware
- JavaScript Regular Expression Matching is PSPACE-Complete — Deng, Barrière, Pit-Claudel
- QuickerChick — Mladenov, Keles, Lampropoulos
- Incremental Property-Based Testing — Benario Figueroa
Three of five are testing-adjacent. Incremental PBT is the interesting scheduling question: which properties need re-checking after a change, given what the change touched.
6. Business meeting
Wed 15:45–17:15, IP126. GC and PC-chair reports, Most Influential Paper (ICFP 2016), SIGPLAN Achievement Award, SRC awards, JFP@ICFP, ICFP 2027 announcement (Zdancewic, Krebbers), and the Programming Contest report and winners (Royalty, 25 minutes).
7. ICFP Tutorials
Mon, HO223, two 90-minute parts: Hacking Choreographic Programming in Haskell (Gan Shen, UCSC), 14:00–15:30 and 16:00–17:30. Hands-on; low value on stream, worth the materials afterward.
8. Workshops
8.1. miniKanren — Mon, HO221
Co-chairs Chris Martens (Northeastern) and William E. Byrd (UAB). The 2026 theme is Relating Relational Languages: cross-pollination with proof assistants, solver-aided tools, Datalog-style languages, and equality saturation.
| Time | Item |
|---|---|
| 09:05 | Introduction to relational programming in miniKanren (Byrd, Martens) |
| 10:00 | Programming Challenge to Attendees |
| 11:00 | Towards Bottom-Up Enumeration in miniKanren via Pruning and Memoization — Kudasov (remote) |
| 11:45 | Lightweight Runtime Security Policy Verification Using an Embeddable C++ miniKanren — Chen, Kodippilige |
| 14:00 | All for one and none for all: Compiling polymorphic relations without monomorphization — Volkov, Shan, Yang |
| 14:45 | Efficient Rational Unification for miniKanren — Domoratskiy, Boulytchev (remote) |
| 16:00 | Keynote: A Lean, Mean, miniKanren Machine — Jason Hemann |
| 17:00 | Demos of Attendee Programs and Open Mic |
Pre-prints: Kudasov 2607.25373 · Volkov et al. 2607.24678 · Domoratskiy/Boulytchev 2607.23905. Kudasov's combinators are at https://github.com/fizruk/prune-kanren.
Three of the four talks are performance papers, which is the workshop
telling on itself: relational programming's open problem is enumeration
order, not expressiveness. Kudasov's defrel/bank memoizes a relation
against canonical fresh variables, so a pruned stream is built once and
replayed at every call site — the principled version of hand-materializing a
transition table, and it keeps the modes that materialization would close
off. Volkov et al. attack the same fan-out from the compilation side.
The challenge problem is a text-generation task — bigram models, grammatical category templates, and their composition — with sample solutions in Dusa. That framing sets up the comparison the workshop theme asks for: Datalog- style finite-choice saturation computes a model in one direction, while a unification-based formulation admits generation, checking, infilling, and tagging from a single relation. The mode lattice is where the two formalisms actually differ.
Refutation condition. The claim above fails if finite-choice logic can fill unbound positions by unification rather than enumerate-and-filter. My reading of Dusa says heads must be ground before choice applies, but that has not been pushed on; the PC roster (Rosenblatt, Arntzenius, Willsey) can settle it in one exchange.
8.2. HOPE — Mon, IP137
Higher-Order Programming with Effects. Six talks, three of them shared with the Paris FPW.
- Teaching Effect Handlers in the Wild — Beneš
- Experience Report: Graph Rewriting with Lexical Effect Handlers — Borner
- Higher-order fork, modally — Boussaa, Tang, Lindley
- Practical Extensions for Graded Monads — Casey, Gaboardi, Katsumata
- Towards Light-Weight Operational Reasoning for Languages with Binders, Categorically — Goncharov
- Modular Storage Mode Analysis — Elsman
- Synthesizing Runners Using Copatterns — Sahoo, Jagannathan
- A Logical Perspective on Capturing Types — Xu (recorded)
- Orbifoldr: Classifying Wallpaper Groups via Functional Image Analysis in Haskell — Jiang, Sharma
Graded monads appear here and again in the ICFP Papers track (Liepelt et al., Eriksson et al.). Grading is having a year.
8.3. FARM — Mon, IP132 + Madam Walker Theatre
Functional Art, Music, Modelling and Design. Talks during the day, a public performance at 19:30 with Stephen Taylor's keynote Sonification as (vs.) Program Music and six short pieces.
- Composition: Building Community with Arts, Math, and Code — Mohr, Wang
- AGR: A Rehearsal-to-Performance Workflow for Programming Audio Gestures in Max — Fan
- CounterChoice: Counterpoint Composition in Dusa with a Firmus Foundation — Erdem, Prakash, Angiuli, Bohrer, McCann, Martens, Cong
- Prismriver: Formalization of Music Theory and Algorithmic Composition in Lean 4 — Aniva, Wang
- Demo: The Reduction of Girard's Paradox as Music — Mohr
- Demo: Drawing Algorithms As Modular Objects — Dong, Průša, Wehar, Xu
- The Art of Concert Programming — Gentner
CounterChoice is the crossover: species counterpoint as a finite-choice logic program, same substrate as the miniKanren challenge solutions, same author (Martens) on both. Prismriver is the proof-assistant end of the same question — music theory as a formalized object rather than a generator's implicit prior.
8.4. PLMW @ ICFP — Mon, IP126
Mentoring workshop. Dreyer on writing papers and giving talks people can follow; Delaware on writing as research practice; Findler on reading reduction semantics; a career panel closing the day.
8.5. OCaml Workshop (watch party) — Mon, HO223
Remote-streamed from the OCaml Workshop proper. JSON parsing in OxCaml (Pianykh), a new short-paths implementation (Gérard, Anglès d'Auriac, White), a benchmarking service (de Souza Amorim, McGilchrist), first-class docs (Ludlam).
8.6. LOPSTR+PPDP — Thu–Fri, IP137
Logic-based synthesis and declarative programming, opened by Theresa Swift and William Byrd. Weirich's keynote on functional/logic programming in Verse is Thursday 14:00, followed by adaptive scheduling (Costantini et al.), negation in ASP (Lierler), and coercive subtyping for algebraic programming (Blanchette, Stump).
8.7. Haskell Symposium — Fri–Sat, IP126
Co-hosted rather than a workshop. Opens Friday 09:05 with Ravi Chugh's keynote The Next 700 Block-Based Editors, chaired by Lindsey Kuper.
8.8. Scheme — Sat, IP132
| Time | Item |
|---|---|
| 09:30 | Keynote: Rhombus: The Non-Shrubbery Parts — Matthew Flatt |
| 11:00 | A Call-by-push-value Scheme — Max S. New |
| 11:30 | Regions as Continuation Marks — Koronkevich, Bowman |
| 12:00 | An Incremental Approach to JIT Construction — Raswan, Barbone, Lehmann, Politz |
| 14:00 | The R7RS-Large Roadmap — McGoron |
| 14:30 | An Array-Oriented Language via the Design Recipe — Scheele, Chang |
| 15:00 | Using the Design Recipe in Theory of Computation — Scheele, Chang |
Regions as Continuation Marks is the one to read closely: region discipline recovered from a control-flow mechanism Racket already has, rather than bolted on as a type-system extension. The R7RS-Large roadmap talk is the standards-process update.
8.9. Erlang, ML Family, FUNARCH
Friday–Saturday. Programs not yet resolved on the schedule page at the time of writing; FUNARCH takes lightning-talk submissions.
9. Diversity, Equity, and Inclusion
Women in PL Dinner (Tue 19:30), LGBTQ@ICFP Lunch (Wed 12:00, HO223), URM@ICFP Lunch (Thu 12:00, HO223).
10. Alignment with wal.sh research
Four threads on this year's programme land on active work.
Relational modes as a first-class axis. The miniKanren challenge and its Dusa sample solutions make the saturation-vs-unification comparison concrete. One relation admitting generation, checking, infilling, and tagging is the same shape as the reversible-pipeline transforms note — a contract that does not privilege a direction.
Property-based testing as a programmable interface. Programmable PBT (Keles et al., Distinguished), Compositional Generator Equivalence (Vandikas et al.), QuickerChick and Incremental PBT in the SRC. This is the hegel-guile universal-protocol question from four directions at once, and the incremental angle is the one the Hegel work has not addressed.
Machine-generated, machine-checked. Paraskevopoulou's verified-compiler experience report and Proofs Promptly (Ioannidis et al., MSR) both take the generate-freely/check-mechanically position. That is the elenctic-spec posture stated in a proof-assistant setting, with the checker as the oracle. RunbookFX pushes it into operations: an effect type as the contract bounding what synthesized remediation may touch.
Invariant transfer and refinement. Assertions for Free moves invariants from algorithm proof to implementation proof; Misquoted No More asks what survives extraction. Both are the same provenance question the schema-pact work asks about specifications — where the guarantee is established versus where it is relied on, and what happens in between.
Author overlap worth noting: Kimball Germane appears on two Thursday papers and the Scheme PC; Sam Staton on two Tuesday papers; Chris Martens co-chairs miniKanren and co-authors the FARM Dusa paper; Guannan Wei presents at ICFP and co-organizes Scheme.
11. Related
- Events index — full conference calendar
- PLDI 2026 — EGRAPHS and PAgE; the equality-saturation thread the miniKanren theme reaches toward
- ELS 2026 — Lisp-side complement
- Scheme research — miniKanren's native habitat
12. Notes
Program marked tentative by the organizers; talk times shifted between the pre-conference snapshot and the live schedule. Session assignments for Erlang, ML Family, and FUNARCH were unresolved when this page was written. Four unlabeled stream embeds serve five active rooms on Monday, so at least one room is local-only or the embeds rotate. Recordings are collected in the room/day-sorted playlist.