26,098 papers · page 97 of 1,305
Cyril Cohen, Enzo Crance, Assia Mahboubi
This article presents Trocq , a new proof transfer framework for dependent type theory. Trocq is based on a novel formulation of type equivalence, used to generalize the univalent parametricity translation. This framework takes care of avoiding dependency on the axiom of univalen…
Andrea Colledan, Ugo Dal Lago, Niki Vazou
Circuit description languages are a class of quantum programming languages in which programs are classical and produce a description of a quantum computation, in the form of a quantum circuit . Since these programs can leverage all the expressive power of high-level classical lan…
Alastair F. Donaldson
I am excited to take up the mantle and will do my utmost to take the journal from strength to strength over the coming years!I am extremely grateful to Colin Gordon, outgoing Editor-in-Chief, for the many hours he has spent showing me the ropes, which has made taking on this new …
Myra Dotzel, Farzaneh Derakhshan, Milijana Surbatovich, Limin Jia
Programs are executed intermittently on devices that experience arbitrary power failures such as Energy Harvesting Devices (EHDs). To ensure progress, intermittent systems need runtime support to checkpoint state and re-execute after power failure by restoring the last saved stat…
Yotam Dvir, Ohad Kammar, Ori Lahav
We present a compositional denotational semantics for a functional language with first-class parallel composition and shared-memory operations whose operational semantics follows the Release/Acquire weak memory model (RA). The semantics is formulated in Moggi’s monadic approach a…
Thiago Felicissimo
Bidirectional typing is a discipline in which the typing judgment is decomposed explicitly into inference and checking modes, allowing one to control the flow of type information in typing rules and to specify algorithmically how they should be used. Bidirectional typing has been…
Zeinab Galal, Francesco Gavazzo, Riccardo Treglia, Gabriele Vanoni
We extend intersection types to a computational \(\lambda\) -calculus with algebraic operations à la Plotkin and Power. We achieve this by considering monadic intersections—whereby computational effects appear not only in the operational semantics but also in the type system . Si…
Colin S. Gordon
Colin S. Gordon
No abstract available.
Karoliine Holter, Simmo Saan, Patrick Lam, Vesal Vojdani
Sound static data race freedom verification has been a long-standing challenge in the field of programming languages. While actively researched a decade ago, most practical data race detection tools have since abandoned soundness. Is sound static race freedom verification for rea…
Grant Iraci, Cheng-En Chuang, Raymond Hu, Lukasz Ziarek
We develop a session types framework for implementing and validating rate-based message passing systems in Internet of Things (IoT) domains. To model the indefinite repetition present in many embedded and IoT systems, we introduce a timed process calculus with a periodic recursio…
Cristina Matache, Sam Lindley, Sean K. Moss, Sam Staton, Nicolas Wu, Zhixuan Yang
Notions of computation can be modeled by monads. Algebraic effects offer a characterization of monads in terms of algebraic operations and equational axioms, where operations are basic programming features, such as reading or updating the state, and axioms specify observably equi…
Dawn Michaelson, Gopalan Nadathur, Eric Van Wyk
This article concerns the development of metatheory for extensible languages. It starts with the view that programming languages tailored to specific application domains are to be constructed by composing components from an open library of independently-developed extensions to a …
Alexandre Moine, Arthur Charguéraud, François Pottier
We present IrisFit, a Separation Logic with space credits for reasoning about heap space in a concurrent call-by-value language equipped with tracing garbage collection and shared mutable state. We point out a fundamental difficulty in the analysis of the worst-case heap space co…
Loïc Pujet, Yann Leray, Nicolas Tabareau
The notion of equality is at the heart of dependent type theory, as it plays a fundamental role in program specifications and mathematical reasoning. In mainstream proof assistants such as Agda , Lean , and Coq , equality is usually defined using Martin-Löf’s identity type, an el…
Yaozhu Sun, Xuejing Huang, Bruno C. d. S. Oliveira
Inheritance is a key concept in many programming languages. Dynamically typed languages, such as JavaScript, often support powerful forms of dynamic inheritance. However, dynamic inheritance poses significant challenges for static typing. Most statically typed languages only prov…
John Wickerson
Hao Wu, Qiuye Wang, Bai Xue, Naijun Zhan, Lihong Zhi, Zhi-Hong Yang
Constraint-solving-based program invariant synthesis takes a parametric invariant template and encodes the (inductive) invariant conditions into constraints. The problem of characterizing the set of all valid parameter assignments is referred to as the strong invariant synthesis …
Xusheng Zhi, Thomas Reps
Binary Decision Diagrams (BDDs) are widely used for the representation of Boolean functions. Context-Free-Language Ordered Decision Diagrams (CFLOBDDs) are a plug-compatible replacement for BDDs—roughly, they are BDDs augmented with a certain form of procedure call. A natural que…
Noam Zilberstein
Starting with Hoare Logic over 50 years ago, numerous program logics have been devised to reason about the different kinds of programs encountered in the real world. This includes reasoning about computational effects, particularly those effects that cause the program execution t…