ICFP 2024
Mon 2 - Sat 7 September 2024 Milan, Italy
Tue 3 Sep 2024 13:48 - 14:06 at Green 1-2-3 - Type Theory Chair(s): Brent Yorgey

Many abstraction tools in functional programming rely heavily on general-purpose compiler optimization to achieve adequate performance. For example, monadic binding is a higher-order function which yields runtime closures in the absence of sufficient compile-time inlining and beta-reductions, thereby significantly degrading performance. In current systems such as the Glasgow Haskell Compiler, there is no strong guarantee that general-purpose optimization can eliminate abstraction overheads, and users only have indirect and fragile control over code generation through inlining directives and compiler options. We propose a two-stage language to simultaneously get strong guarantees about code generation and strong abstraction features. The object language is a simply-typed first-order language which can be compiled without runtime closures. The compile-time language is a dependent type theory. The two are integrated in a two-level type theory.

We demonstrate two applications of the system. First, we develop monads and monad transformers. Here, abstraction overheads are eliminated by staging and we can reuse almost all definitions from the existing Haskell ecosystem. Second, we develop pull-based stream fusion. Here we make essential use of dependent types to give a concise definition of a $\mathsf{concatMap}$ operation with guaranteed fusion. We provide an Agda implementation and a typed Template Haskell implementation of these developments.

Tue 3 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:30 - 15:00
Type TheoryICFP Papers and Events / JFP First Papers at Green 1-2-3
Chair(s): Brent Yorgey Hendrix College
13:30
18m
Talk
Normalization by evaluation for modal dependent type theoryJFP First Paper
JFP First Papers
Jason Z.S. Hu McGill University, Junyoung Jang McGill University, Brigitte Pientka McGill University
DOI
13:48
18m
Talk
Closure-Free Functional Programming in a Two-Level Type Theory
ICFP Papers and Events
András Kovács University of Gothenburg
DOI Pre-print
14:06
18m
Talk
Gradual Indexed Inductive Types
ICFP Papers and Events
Mara Malewski Correa University of Chile, Kenji Maillard Inria, Nicolas Tabareau Inria, Éric Tanter University of Chile
DOI
14:24
18m
Talk
Dependent Ghosts Have a Reflection for Free
ICFP Papers and Events
DOI
14:42
18m
Talk
Static Blame for gradual typingJFP First Paper
JFP First Papers
Chenghao Su Nanjing University, Lin Chen Nanjing University, Yanhui Li Nanjing University, Yuming Zhou Nanjing University
DOI