NEW YORK · SECOND EDITION
Recursion2026
fix f = let x = f x in x
Two days of talks on Haskell, OCaml, proof assistants, and the compilers and runtimes underneath.
- when
- Thu 29 & Fri 30 October 2026, 08:30 - 18:30
- where
- 429 11th Avenue, New York, NY 10001
- tracks
- Haskell · OCaml · proofs · compilers · practice
- tickets
- from $149 · early bird closes 30 Sep 2026
SUPPORTED BY
11 organizations
- JetBrains
- Hudson River Trading

- Optiver

- Susquehanna International Group

- think-cell
- Bright Data

- IBM
- AMD
- Google Cloud
- Adobe
- Red Hat
“To iterate is human, to recurse divine.” - L. PETER DEUTSCH
About The Conference
Second year. Roughly 300 people, one track at a time, no parallel sessions.
Recursion is a two-day conference for people who write functional code and maintain it afterward. Talks are selected for substance over polish: 39 sessions over two days, each grounded in something the speaker actually built, ran, or had to fix in production.
Sessions assume familiarity with the basics of the languages and tools involved, so speakers can spend their time on results and trade-offs rather than introductions.
The programme lists both days in full. If you have something to say, the call for proposals is open until 31 August.
Tickets start at $149. Talks are recorded and posted within 48 hours, captioned, with slides and links.
Five tracks
- 01
Haskell
GHC internals, profiling, and effect systems. Several of these talks are about running Haskell in production rather than writing it.
- ghc
- laziness
- effects
- profiling
-- fixed points, laziness, and the cost of both fix :: (a -> a) -> a fix f = let x = f x in x
- 02
OCaml
Multicore, effect handlers, and what the module system is good for beyond namespacing.
- multicore
- effects
- functors
- flambda
(* effects, modules, and a compiler that finishes *) let rec fix f x = f (fix f) x
- 03
Types & proofs
Rocq, Lean, Agda, and which properties are worth proving, and which are cheaper to test.
- lean
- rocq
- agda
- refinement
-- proofs that survive a refactor theorem fold_append : forall xs ys, fold (xs ++ ys) = fold xs <> fold ys
- 04
Compilers & runtimes
Intermediate representations, closure conversion, inlining decisions, and garbage collectors under sustained load.
- anf
- gc
- jit
- inlining
-- what the allocator does at 3 a.m. data Value = Closure Env Term | Thunk (IO Value)
- 05
Practice
Hiring, onboarding, migrations, and incident reviews from teams running functional code.
- production
- hiring
- incidents
- migration
-- functional programs that hold a pager type Handler = Request -> IO Response
The programme
- Registration & Morning Coffee
- 01Opening RemarksRachel Feinberg
- 02Laziness in Production: A Decade of GHC at ScaleOwen Fitzgerald
- Short Break
- 03Effect Handlers Without the Ceremony: A Practical Guide to OCaml 5 EffectsInes Callahan
- 04Refinement Types That Survive a RefactorDr. Femi Adeyemi
- 05Migrating 400k Lines of Python to Haskell Without Stopping the WorldRosa Bettencourt
- 06Strictness Analysis in the Wild: What GHC Still Gets WrongTobias Lindqvist
- 07Mechanizing Progress and Preservation for a Real Language, Not a Toy OneDr. Wren Ostrowski
- 08On-Call for a Pure Functional Backend: What Actually Pages UsMarcus Delacroix
- 09Lightning Talks - OCaml Track
- 10Lightning Talks - Types & Proofs Track
- 11Lightning Talks - Practice Track
- Lunch
- 12Compilers Are Just Programs: What Ten Years of Flambda Taught UsProf. Ingrid Halvorsen
- 13Streaming Without Leaks: A Field Guide to conduit and pipesMalik Thornbury
- 14Dependent Types for Working Programmers: Where Agda Earns Its KeepDr. Naledi Mokoena
- 15Functional Cores, Imperative Shells: A Decade LaterGrant Sorensen
- 16Arrows, Applicatives, and the Parser Combinator You Actually NeedCamille Duarte
- 17Verifying a Real Scheduler in Rocq: Six Months, One PropertyDr. Haruto Ishikawa
- 18Hiring Functional Programmers When Nobody AppliesOdalys Reyes
- Afternoon Break
- 19Is Purity Worth the Onboarding Cost?Dr. Wren Ostrowski, Owen Fitzgerald, Rosa Bettencourt, Prof. Ingrid Halvorsen, Devon Marchetti
- 20Day One Close & Community AnnouncementsRachel Feinberg
- Evening Reception - Foyer & Rooftop Terrace
20 sessions
- Morning Coffee
- 01What Standard ML Got Right (and Where We Went a Different Way)Prof. Dmitri Kowalczyk
- Short Break
- 02Row Polymorphism in OCaml: A Practical IntroductionAnya Petrosyan
- 03Cubical Type Theory Without the HeadacheDr. Kwame Boateng
- 04A Postmortem: The Day Our Thunks Ate All the MemoryLior Ben-David
- 05Effect Systems vs Monad Transformers: A Migration StorySofie Andersen
- 06Refinement Types in Production: Three Bugs They Actually CaughtDr. Chidi Nwosu
- 07Code Review for Functional Codebases: What We Look ForPetra Vaculik
- 08Building a Faster Package Resolver for the OCaml EcosystemJulius Reinholt
- 09Bidirectional Type Checking: A Tutorial for People Who Skipped the PaperDr. Miriam Solheim
- 10Three Years of Functional Programming Interviews: What We ChangedTariq Farouk
- Lunch
- 11Who Maintains the Compiler You Depend OnProf. Elena Marchetti-Voss
- 12Pattern Synonyms and the API You Wish You'd Designed FirstBram Van Doren
- 13Property-Based Testing as a Substitute for Proof (Sometimes)Dr. Adaeze Chukwu
- 14Cost Modeling for Lazy Evaluation: A Spreadsheet That Saved Us $40k/MonthNikolai Thorsen
- 15Inlining Decisions in GHC: Reading the Core Output So You Don't Have ToSachiko Mori
- 16What Agda's Termination Checker Rejects and Why It's Usually RightDr. Baraka Juma
- 17Incident Review: A Two-Hour Outage Caused by a Missing seqHelena Brandt
- Afternoon Break
- 18Where Is Functional Programming Going? A Disagreement About the Next Five YearsProf. Elena Marchetti-Voss, Prof. Dmitri Kowalczyk, Dr. Kwame Boateng, Sofie Andersen, Tariq Farouk, Nikolai Thorsen
- 19Closing Keynote: Staying Serious in a Hype CycleRachel Feinberg
- Conference Close
19 sessions
Everything is recorded.
Send us one page.
One page about your talk, and a sentence about you.
- the problem
- what broke, or what you could not express
- the evidence
- what you measured, and with what
- the turn
- the thing you believed at the start and no longer do
- the length
- 35 min · lightning (5 min, hard stop)
Closes 31 August 2026.
Every proposal reaches the end of that trace.
Colophon.
Source Serif 4 and IBM Plex Mono.
- #fff6f9
- #ffc8dd
- #ffafcc
- #bde0fe
- #a2d2ff