~/conference

ICFP 2022

date:2022-09-11..2022-09-16
location:Ljubljana, Slovenia
series:ICFP · 4 editions
editions:[ICFP 2020, ICFP 2022, ICFP 2023, ICFP 2025]
titleauthorlength
Deep Programmability: A New Lens on NetworkingNate Foster47m
Argues that networks are becoming deeply programmable end-to-end and shows concrete tools: a high-level DSL NetKAT with formal semantics and a compiler that…
Talk on
Multi Types and Reasonable SpaceBeniamino Accattoli, Ugo Dal Lago, Gabriele Vanoni18m
Claims a concrete machine, Space KAM, is a reasonable space cost model for the lambda calculus (linear overhead vs. Turing/RAM) and handles logarithmic-space…
Talk on
Random Testing of a Higher-Order Blockchain Language (Experience Report)Tram Hoang, Anton Trunov, Leonidas Lampropoulos, Ilya Sergey18m
Integrates QuickChick on Coq with an OCaml implementation of a higher‑order smart‑contract language and builds a semantic harness by turning the monadic…
Talk on
Entanglement Detection with Near-Zero CostSam Westrick, Jatin Arora, Umut A. Acar16m
Presents a runtime entanglement detector implemented in the Maple (MPL) compiler that builds a computation graph and uses SP-order maintenance to check only…
Talk on
Analyzing Binding Extent in 3CPSBenjamin Quiring, John Reppy, Olin Shivers14m
3CPS implements a 3CPS factored CPS IR and an abstract‑interpretation analysis that classifies each variable as register/stack/heap extents, mapping extents to…
Talk on
Safe Couplings: Coupled Refinement TypesElizaveta Vasilenko, Niki Vazou, Gilles Barthe15m
Enhances refinement types with a coupling-based connective that captures relational properties like expected sensitivity and proves that output-distance is…
Talk on
"do" Unchained: Embracing Local Imperativity in a Purely Functional Langua...Sebastian Ullrich, Leonardo de Moura15m
Adds local mutation, early return and iteration to do notation and provides formal translation rules that compile them to pure code while preserving semantics…
Talk
Program Adverbs and Tlon EmbeddingsYao Li, Stephanie Weirich14m
Proposes program adverbs as reified functor classes (applicative/selective/monad) that embed effects LiftA2 and Embed constructors to capture static vs dynamic…
Talk on
Later Credits: Resourceful Reasoning for the Later ModalitySimon Spies, Lennard Gäher, Joseph Tassarotti, Ralf Jung, Robbert Krebbers, Lars Birkedal, Derek Dreyer15m
Introduces later credits as an ownable resource in Iris that splits stepping into a credit-generation rule and a credit-spending rule, letting proofs prepay…
Talk
Datatype-Generic Programming Meets Elaborator ReflectionHsiang-Shang Ko, Liang-Ting Chen, Tzu-Chi Lin16m
Claims a practical framework that uses elaborator reflection in Agda to turn datatype-generic descriptions into real, native datatypes and functions…
Talk
Verified Symbolic Execution with Kripke Specification Monads…Steven Keuchel, Sander Huyghebaert, Georgy Lukyanov, Dominique Devriese20m
Presents a verified symbolic executor implemented as a Kripke-indexed symbolic specification monad that manipulates deeply embedded assertions, proves…
Talk
Generating Circuits with GeneratorsMarek Materzok17m
YieldFSM is a generator-based HDL that represents clock-level timing so designers get higher-level code with explicit cycles; the compiler (using…
Talk on
Beyond Relooper: Recursive Translation of Unstructured Control Flow to Structu…Norman Ramsey16m
Translates arbitrary intraprocedural control-flow graphs into structured WebAssembly constructs and reduces the classic three-pass Peterson/Kasami/Tokura…
Talk on
Programming Contest Report12m
ICFP contest runs 40 tasks with three spec stages (first 24h, second, third) and operators limited to point cut, line cuts, colour (RGBA) fills, merges and…
Organiser
Fireside Chat with Arvind and Guy SteeleArvind, Guy Steele55m
Casual, wide‑ranging history that names concrete projects and lessons: early Scheme work and the "rabbit" compiler that rethinks actors vs lambdas; a real…
Panel
A Reasonably Gradual Type TheoryKenji Maillard, Meven Lennon-Bertrand, Nicolas Tabareau, Éric Tanter16m
Presents GRIP, an extension of CastCIC that is normalizing and a conservative extension of CIC, and that internalizes precision so graduality can be proven for…
Talk
Flexible Presentations of Graded MonadsShin-ya Katsumata, Dylan McDermott, Tarmo Uustalu, Nicolas Wu15m
Defines a flexibly graded presentation that permits operations whose arguments carry different grades and proves two concrete claims: every such presentation…
Talk
On Feller Continuity and Full AbstractionGilles Barthe, Raphalle Crubill, Ugo Dal Lago, Francesco Gavazzo20m
Shows that in a call-by-value higher-order lambda calculus with sampling and only continuous real-valued primitives, Feller-continuity on the induced labelled…
Talk
Normalization for Fitch-Style Modal CalculiNachiappan Valliappan, Fabian Ruch, Carlos Tomé Cortiñas17m
Claims a modular semantic normalization procedure for Fitch-style modal lambda calculi: it builds Normalization by Evaluation models from a single…
Talk
Aeneas: Rust Verification by Functional TranslationSon Ho, Jonathan Protzenko15m
Aeneas translates a large, safe subset of Rust (no interior mutability or unsafe) into a pure lambda calculus so proofs avoid memory/address reasoning…
Talk on
Practical Generic Programming over a Universe of Native DatatypesLucas Escot, Jesper Cockx16m
Library for Agda implements a universe-of-descriptions approach and exposes regular Agda functions that specialize to native datatypes with a one-liner…
Talk
Staged Compilation with Two-Level Type TheoryAndrás Kovács15m
Shows that two-level type theory (2LTT) can serve as a foundation for staged compilation that supports full dependent types, provides a staging-by-evaluation…
Talk on
Fusing Industry and Academia at GitHub (Experience Report)Patrick Thomson, Rob Rix, Nicolas Wu, Tom Schrijvers27m
GitHub describes building Semantic in Haskell to power code navigation and structural diffing across 9 languages, using tree-sitter grammars compiled to C for…
Talk on
Multiparty GV: Functional Multiparty Session Types with Certified Deadlock Fre...Jules Jacobs, Stephanie Balzer, Robbert Krebbers14m
A functional language MPGV extends GV with multiparty session types, first-class channel endpoints, dynamic spawning and a new redirect construct that enables…
Talk on
Introduction and Elimination, Left and RightKlaus Ostermann, David Binder, Ingo Skupin, Tim Süberkrüb, Paul Downen18m
Claims that four rule choices—right/left introduction and elimination—yield four distinct program structures but are equally expressive through mechanical…
Talk on
A Completely Unique Account of EnumerationCas van der Rest, Wouter Swierstra13m
A datatype generic enumerator is built that works for all regular types and indexed families and is proven complete and unique: every inhabitant appears…
Talk on
Modular Probabilistic Models via Algebraic EffectsMinh Nguyen, Roly Perera, Meng Wang, Nicolas Wu15m
Claims a Haskell-embedded DSL that makes probabilistic models first-class and reusable by using algebraic effects so one model serves for simulation…
Talk on
Reference Counting with Frame Limited ReuseAnton Lorenzen, Daan Leijen16m
Defines Perceus garbage-free refcounting that inserts precise increment/drop ops so objects free exactly when unreachable, adds a new drop-guided reuse…
Talk on
Structural versus Pipeline Composition of… (Experience Report)Elijah Rivera, Shriram Krishnamurthi14m
Claim: students find structural composition easier than pipeline composition for list higher-order functions. Method: restrict to a small set of list HOFs…
Talk on
Formal Reasoning about Layered Monadic InterpretersIrene Yoon, Yannick Zakowski, Steve Zdancewic14m
Extends the Coq interaction trees (ITrees) library to characterize a class of interpretable monads obtained by applying monad transformers to ITrees, gives…
Talk
Propositional Equality for Gradual Dependently Typed ProgrammingJoseph Eremondi, Ronald Garcia, Éric Tanter16m
A gradual dependently-typed language is implemented that adds a propositional equality whose proofs carry witnesses (each proof pairs an equality with a term…
Talk
Linearly Qualified Types: Generic Inference for Capabilities and UniquenessArnaud Spiwack, Csongor Kiss, Jean-Philippe Bernardy, Nicolas Wu, Richard A. Eisenberg16m
Adds implicit linear constraints as qualified types and implements a constraint generation and inference algorithm that extends GHCs solver, desugaring the…
Talk
A Simple and Efficient Implementation of Strong Call by Need by an Abstract Ma…Malgorzata Biernacka, Witold Charatonik, Tomasz Drab18m
Claims a concrete abstract machine called RKNL that implements strong call-by-need by automatically transforming a higher-order evaluator (with memothunks)…
Talk on
Searching Entangled Program SpacesJames Koppel, Zheng Guo, Edsko de Vries, Armando Solar-Lezama, Nadia Polikarpova12m
Introduces equality-constrained tree automata to compactly represent program spaces where subterm choices are entangled, and implements extraction and lazy…
Talk on
Conclusions and Awards33m
Session announces student competition winners (undergrad and grad named), SIGPLAN updates on finances and volunteer roles, and pushes institutions toward ACM…
Organiser
Student Research Competition Final PresentationsBernard Boey, Hilbert Chen, Yanjun Chen, Eric Zhao, Francis Rinaldi, Arthur Correnson, Nathan Corbyn, Denis Carnier33m
Session collects six short student projects with concrete artifacts and techniques: HenBlocks: structured editing for Coq is a client‑side web app (GS‑Coq…
Talk
Automatically Deriving Control-Flow Graph Generators from Operational SemanticsJames Koppel, Jackson Kearl, Armando Solar-Lezama16m
An algorithm converts small-step operational semantics into an abstract machine, then uses abstract rewriting to synthesize both interpreted-mode and…
Talk on
Retrofitting Concurrency – Lessons from the Engine RoomKC Sivaramakrishnan40m
OCaml 5.0 brings native concurrency and parallelism and ships effect handlers as the language-level mechanism; the Multicore design uses per-domain minor heaps…
Talk on
Monadic Compiler Calculation (Functional Pearl)Patrick Bahr, Graham Hutton15m
Derives a correct compiler from a correctness specification by calculating definitions during the proof, using the partiality monad to make divergence explicit…
Talk on
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.