Computing with Capsules
@inproceedings{Jeannin2012ComputingWC, title={Computing with Capsules}, author={Jean-Baptiste Jeannin and Dexter Kozen}, booktitle={DCFS}, year={2012} }
Capsules provide an algebraic representation of the state of a computation in higher-order functional and imperative languages. A capsule is essentially a finite coalgebraic representation of a regular closed λ-coterm. One can give an operational semantics based on capsules for a higher-order programming language with functional and imperative features, including mutable bindings. Static (lexical) scoping is captured purely algebraically without stacks, heaps, or closures. All operations of…
18 Citations
Sound Regular Corecursion in coFJ
- Computer ScienceECOOP
- 2020
The aim of the paper is to provide solid foundations for a programming paradigm natively supporting the creation and manipulation of cyclic data structures. To this end, we describe coFJ, a Java-like…
CoCaml: Functional Programming with Regular Coinductive Types
- Computer ScienceFundam. Informaticae
- 2017
CoCaml is presented, a functional programming language extending OCaml, which allows us to define recursive functions on regular coinductive datatypes, but parameterized by an equation solver.
CoCaml: Programming with Coinductive Types
- Computer Science, Economics
- 2012
We present CoCaml, a functional programming language extending OCaml, which allows us to define functions on coinductive datatypes parameterized by an equation solver. We provide numerous examples…
Universal Semantics for the Stochastic Lambda-Calculus
- Computer ScienceArXiv
- 2020
These two semantic approaches build on previous work that used similar techniques to reason about higher-order probabilistic programs, but for the first time admit an adequacy theorem relating the operational and denotational views.
Enhanced Regular Corecursion for Data Streams
- Computer ScienceICTCS
- 2021
We propose a simple calculus for processing data streams (infinite flows of data series), represented by finite sets of equations built on stream operators. Furthermore, functions defining streams…
Substructural logical specifications
- Computer Science
- 2012
This dissertation introduces and demonstrates four methodologies for developing and using substructural logical frameworks for specifying and reasoning about stateful and concurrent systems, and shows that generative invariants can form the basis of progress-and-preservation-style reasoning about programming languages encoded in SLS.
Capsules and Separation
- Mathematics2012 27th Annual IEEE Symposium on Logic in Computer Science
- 2012
We study a formulation of separation logic using capsules, a representation of the state of a computation in higher-order programming languages with mutable variables. We prove soundness of the frame…
Practical coinduction
- PhilosophyMathematical Structures in Computer Science
- 2016
It is shown that coinduction is not only about bisimilarity and equality of behaviors, but also applicable to a variety of functions and relations defined on coinductive datatypes.
Environments and the complexity of abstract machines
- Computer SciencePPDP
- 2017
It is shown that local environments admit implementations that are asymptotically faster than global environments, lowering the dependency from the size of the initial term from linear to logarithmic, thus improving the bounds in the literature.
References
SHOWING 1-10 OF 65 REFERENCES
Relational Semantics for Higher-Order Programs
- Computer ScienceMPC
- 2006
This paper provides a natural relational semantics for a programming language with higher-order functions that is purely compositional, with all contextual considerations completely encapsulated in the state.
The semantics of local storage, or what makes the free-list free?(Preliminary Report)
- Computer SciencePOPL '84
- 1984
Denotational semantics for an ALGOL-like language with finite-mode procedures, blocks with local storage, and sharing (aliasing) is given by translating programs into an appropriately typed…
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
- Computer Science
- 1981
Local variable scoping and Kleene algebra with tests
- Computer ScienceJ. Log. Algebraic Methods Program.
- 2008
Linearity, Sharing and State: a fully abstract game semantics for Idealized Algol with active expressions
- Computer ScienceElectron. Notes Theor. Comput. Sci.
- 1996
Higher order operational techniques in semantics
- Computer Science
- 1999
Introduction 1. Operational reasoning about primitive objects A. Gordon 2. Semantics for core concurrent ML with computation types A. Jeffrey 3. Relational reasoning about contexts S. B. Lassen 4.…
A Game Semantics of Local Names and Good Variables
- Computer ScienceFoSSaCS
- 2004
After refining the semantics via a notion of garbage collection, it is proved that the compact elements are definable as terms, and hence obtain a full abstraction result.