ICFP 2022
35 papers
- 'do' unchained: embracing local imperativity in a purely functional language (functional pearl)
- A completely unique account of enumeration
- A reasonably gradual type theory
- A simple and efficient implementation of strong call by need by an abstract machine
- Aeneas: Rust verification by functional translation
- Analyzing binding extent in 3CPS
- Automatically deriving control-flow graph generators from operational semantics
- Beyond Relooper: recursive translation of unstructured control flow to structured control flow (functional pearl)
- Constraint-based type inference for FreezeML
- Datatype-generic programming meets elaborator reflection
- Entanglement detection with near-zero cost
- Flexible presentations of graded monads
- Formal reasoning about layered monadic interpreters
- Fusing industry and academia at GitHub (experience report)
- Generating circuits with generators
- Introduction and elimination, left and right
- Later credits: resourceful reasoning for the later modality
- Linearly qualified types: generic inference for capabilities and uniqueness
- Modular probabilistic models via algebraic effects
- Monadic compiler calculation (functional pearl)
- Multi types and reasonable space
- Multiparty GV: functional multiparty session types with certified deadlock freedom
- Normalization for fitch-style modal calculi
- On Feller continuity and full abstraction
- Practical generic programming over a universe of native datatypes
- Program adverbs and Tlön embeddings
- Propositional equality for gradual dependently typed programming
- Random testing of a higher-order blockchain language (experience report)
- Reference counting with frame limited reuse
- Safe couplings: coupled refinement types
- Searching entangled program spaces
- Staged compilation with two-level type theory
- Structural versus pipeline composition of higher-order functions (experience report)
- The theory of call-by-value solvability
- Verified symbolic execution with Kripke specification monads (and no meta-programming)