Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleJanuary 2025
Algebraic Temporal Effects: Temporal Verification of Recursively Typed Higher-Order Programs
Proceedings of the ACM on Programming Languages (PACMPL), Volume 9, Issue POPLArticle No.: 78, Pages 2306–2336https://doi.org/10.1145/3704914We present a general form of temporal effects for recursive types. Temporal effects have been adopted by effect systems to verify both linear-time temporal safety and liveness properties of higher-order programs with recursive functions. A challenge in a ...
All Your Base Are Belong to Us: Sort Polymorphism for Proof Assistants
- Josselin Poiret,
- Gaëtan Gilbert,
- Kenji Maillard,
- Pierre-Marie Pédrot,
- Matthieu Sozeau,
- Nicolas Tabareau,
- Éric Tanter
Proceedings of the ACM on Programming Languages (PACMPL), Volume 9, Issue POPLArticle No.: 76, Pages 2253–2281https://doi.org/10.1145/3704912Proof assistants based on dependent type theory, such as Coq, Lean and Agda, use different universes to classify types, typically combining a predicative hierarchy of universes for computationally-relevant types, and an impredicative universe of proof-...
Bidirectional Higher-Rank Polymorphism with Intersection and Union Types
Proceedings of the ACM on Programming Languages (PACMPL), Volume 9, Issue POPLArticle No.: 71, Pages 2118–2148https://doi.org/10.1145/3704907Modern mainstream programming languages, such as TypeScript, Flow, and Scala, have polymorphic type systems enriched with intersection and union types. These languages implement variants of bidirectional higher-rank polymorphic type inference, which was ...
- research-articleJanuary 2025
Avoiding Signature Avoidance in ML Modules with Zippers
Proceedings of the ACM on Programming Languages (PACMPL), Volume 9, Issue POPLArticle No.: 66, Pages 1962–1991https://doi.org/10.1145/3704902We present ZipML, a new path-based type system for a fully fledged ML-module language that avoids the signature avoidance problem. This is achieved by introducing floating fields, which act as additional fields of a signature, invisible to the user but ...
Semantic Logical Relations for Timed Message-Passing Protocols
Proceedings of the ACM on Programming Languages (PACMPL), Volume 9, Issue POPLArticle No.: 59, Pages 1750–1781https://doi.org/10.1145/3704895Many of today’s message-passing systems not only require messages to be exchanged in a certain order but also to happen at a certain time or within a certain time window. Such correctness conditions are particularly prominent in Internet of Things (IoT) ...
-
- research-articleJanuary 2025
Formalising Graph Algorithms with Coinduction
Proceedings of the ACM on Programming Languages (PACMPL), Volume 9, Issue POPLArticle No.: 56, Pages 1657–1686https://doi.org/10.1145/3704892Graphs and their algorithms are fundamental to computer science, but they can be difficult to formalise, especially in dependently-typed proof assistants. Part of the problem is that graphs aren’t as well-behaved as inductive data types like trees or ...
- research-articleJanuary 2025
Modelling Recursion and Probabilistic Choice in Guarded Type Theory
Proceedings of the ACM on Programming Languages (PACMPL), Volume 9, Issue POPLArticle No.: 48, Pages 1417–1445https://doi.org/10.1145/3704884Constructive type theory combines logic and programming in one language. This is useful both for reasoning about programs written in type theory, as well as for reasoning about other programming languages inside type theory. It is well-known that it is ...
- research-articleJanuary 2025
Flexible Type-Based Resource Estimation in Quantum Circuit Description Languages
Proceedings of the ACM on Programming Languages (PACMPL), Volume 9, Issue POPLArticle No.: 47, Pages 1386–1416https://doi.org/10.1145/3704883We introduce a type system for the Quipper language designed to derive upper bounds on the size of the circuits produced by the typed program. This size can be measured according to various metrics, including width, depth and gate count, but also ...
- research-articleJanuary 2025
Fulminate: Testing CN Separation-Logic Specifications in C
Proceedings of the ACM on Programming Languages (PACMPL), Volume 9, Issue POPLArticle No.: 43, Pages 1260–1292https://doi.org/10.1145/3704879Separation logic has become an important tool for formally capturing and reasoning about the ownership patterns of imperative programs, originally for paper proof, and now the foundation for industrial static analyses and multiple proof tools. However, ...
- research-articleJanuary 2025
Top-Down or Bottom-Up? Complexity Analyses of Synchronous Multiparty Session Types
Proceedings of the ACM on Programming Languages (PACMPL), Volume 9, Issue POPLArticle No.: 36, Pages 1040–1071https://doi.org/10.1145/3704872Multiparty session types (MPST) provide a type discipline for ensuring communication safety, deadlock-freedom and liveness for multiple concurrently running participants. The original formulation of MPST takes the top-down approach, where a global type ...
QuickSub: Efficient Iso-Recursive Subtyping
Proceedings of the ACM on Programming Languages (PACMPL), Volume 9, Issue POPLArticle No.: 33, Pages 954–985https://doi.org/10.1145/3704869Many programming languages need to check whether two recursive types are in a subtyping relation. Traditionally recursive types are modelled in two different ways: equi- or iso- recursive types. While efficient algorithms for subtyping equi-recursive ...
- research-articleJanuary 2025
A Modal Deconstruction of Löb Induction
Proceedings of the ACM on Programming Languages (PACMPL), Volume 9, Issue POPLArticle No.: 30, Pages 864–892https://doi.org/10.1145/3704866We present a novel analysis of the fundamental Löb induction principle from guarded recursion. Taking advantage of recent work in modal type theory and univalent foundations, we derive Löb induction from a simpler and more conceptual set of primitives. ...
Pantograph: A Fluid and Typed Structure Editor
Proceedings of the ACM on Programming Languages (PACMPL), Volume 9, Issue POPLArticle No.: 28, Pages 802–831https://doi.org/10.1145/3704864Structure editors operate directly on a program’s syntactic tree structure. At first glance, this allows for the exciting possibility that such an editor could enforce correctness properties: programs could be well-formed and sometimes even well-typed by ...
Data Race Freedom à la Mode
- Aïna Linn Georges,
- Benjamin Peters,
- Laila Elbeheiry,
- Leo White,
- Stephen Dolan,
- Richard A. Eisenberg,
- Chris Casinghino,
- François Pottier,
- Derek Dreyer
Proceedings of the ACM on Programming Languages (PACMPL), Volume 9, Issue POPLArticle No.: 23, Pages 656–686https://doi.org/10.1145/3704859We present DRFcaml, an extension of OCaml's type system that guarantees data race freedom for multi-threaded OCaml programs while retaining backward compatibility with existing sequential OCaml code. We build on recent work of Lorenzen et al., who extend ...
- research-articleJanuary 2025
A Dependent Type Theory for Meta-programming with Intensional Analysis
Proceedings of the ACM on Programming Languages (PACMPL), Volume 9, Issue POPLArticle No.: 15, Pages 416–445https://doi.org/10.1145/3704851In this paper, we introduce DeLaM, a dependent layered modal type theory which enables meta-programming in Martin-Löf type theory (MLTT) with recursion principles on open code. DeLaM includes three layers: the layer of static syntax objects of MLTT ...
The Duality of λ-Abstraction
Proceedings of the ACM on Programming Languages (PACMPL), Volume 9, Issue POPLArticle No.: 12, Pages 332–361https://doi.org/10.1145/3704848In this paper, we develop and study the following perspective -- just as higher-order functions give exponentials, higher-order continuations give coexponentials. From this, we design a language that combines exponentials and coexponentials, producing a ...
BiSikkel: A Multimode Logical Framework in Agda
Proceedings of the ACM on Programming Languages (PACMPL), Volume 9, Issue POPLArticle No.: 8, Pages 210–240https://doi.org/10.1145/3704844Embedding Multimode Type Theory (MTT) as a library enables the usage of additional reasoning principles in off-the-shelf proof assistants without risking soundness or compatibility. Moreover, by interpreting embedded MTT terms in an internally ...
Consistency of a Dependent Calculus of Indistinguishability
Proceedings of the ACM on Programming Languages (PACMPL), Volume 9, Issue POPLArticle No.: 7, Pages 183–209https://doi.org/10.1145/3704843The Dependent Calculus of Indistinguishability (DCOI) uses dependency tracking to identify irrelevant arguments and uses indistinguishability during type conversion to enable proof irrelevance, supporting run-time and compile-time irrelevance with the ...
- research-articleOctober 2024
Higher-Order Model Checking of Effect-Handling Programs with Answer-Type Modification
Proceedings of the ACM on Programming Languages (PACMPL), Volume 8, Issue OOPSLA2Article No.: 365, Pages 2662–2691https://doi.org/10.1145/3689805Model checking is one of the successful program verification methodologies. Since the seminal work by Ong, the model checking of higher-order programs―called higher-order model checking, or HOMC for short―has gained attention. It is also crucial for ...
- research-articleOctober 2024
A Typed Multi-level Datalog IR and Its Compiler Framework
Proceedings of the ACM on Programming Languages (PACMPL), Volume 8, Issue OOPSLA2Article No.: 327, Pages 1586–1614https://doi.org/10.1145/3689767The resurgence of Datalog in the last two decades has led to a multitude of new Datalog systems. These systems explore novel ideas for improving Datalog's programmability and performance, making important contributions to the field. Unfortunately, the ...