ICFP 2024
35 papers
- A Coq Mechanization of JavaScript Regular Expression Semantics
- A Safe Low-Level Language for Computer Algebra and Its Formally Verified Compiler
- A Two-Phase Infinite/Finite Low-Level Memory Model: Reconciling Integer-Pointer Casts, Finite Space, and undef at the LLVM IR Level of Abstraction
- Abstract Interpreters: A Monadic Approach to Modular Verification
- Abstracting Effect Systems for Algebraic Effect Handlers
- Almost-Sure Termination by Guarded Refinement
- Automated Verification of Higher-Order Probabilistic Programs via a Dependent Refinement Type System
- Beyond Trees: Calculating Graph-Based Compilers (Functional Pearl)
- Blame-Correct Support for Receiver Properties in Recursively-Structured Actor Contracts
- CCLemma: E-Graph Guided Lemma Discovery for Inductive Equational Proofs
- Call-by-Unboxed-Value
- Closure-Free Functional Programming in a Two-Level Type Theory
- Compiled, Extensible, Multi-language DSLs (Functional Pearl)
- Contextual Typing
- Dependent Ghosts Have a Reflection for Free
- Deriving with Derivatives: Optimizing Incremental Fixpoints for Higher-Order Flow Analysis
- Double-Ended Bit-Stealing for Algebraic Data Types
- Error Credits: Resourceful Reasoning about Error Bounds for Higher-Order Probabilistic Programs
- Example-Based Reasoning about the Realizability of Polymorphic Programs
- Functional Programming in Financial Markets (Experience Report)
- Gradual Indexed Inductive Types
- Grokking the Sequent Calculus (Functional Pearl)
- How to Bake a Quantum Π
- On the Operational Theory of the CPS-Calculus: Towards a Theoretical Foundation for IRs
- Oxidizing OCaml with Modal Memory Management
- Parallel Algebraic Effect Handlers
- Refinement Composition Logic
- Snapshottable Stores
- Sound Borrow-Checking for Rust via Symbolic Semantics
- Specification and Verification for Unrestricted Algebraic Effects and Handling
- Staged Compilation with Module Functors
- Story of Your Lazy Function's Life: A Bidirectional Demand Semantics for Mechanized Cost Analysis of Lazy Programs
- Synchronous Programming with Refinement Types
- The Functional, the Imperative, and the Sudoku: Getting Good, Bad, and Ugly to Get Along (Functional Pearl)
- The Long Way to Deforestation: A Type Inference and Elaboration Technique for Removing Intermediate Data Structures