A sound and complete axiomatization of operational equivalence of programs with memory
Proceedings of the Fourth Annual Symposium on Logic in computer science
Notions of computation and monads
Information and Computation
The revised report on the syntactic theories of sequential control and state
Theoretical Computer Science
The formal semantics of programming languages: an introduction
The formal semantics of programming languages: an introduction
Operational reasoning for functions with local state
Higher order operational techniques in semantics
The next 700 programming languages
Communications of the ACM
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
A Theory of Programming Language Semantics
A Theory of Programming Language Semantics
Scheme: A Interpreter for Extended Lambda Calculus
Higher-Order and Symbolic Computation
Observable Properties of Higher Order Functions that Dynamically Create Local Names, or What's new?
MFCS '93 Proceedings of the 18th International Symposium on Mathematical Foundations of Computer Science
A Fully Abstract Game Semantics for General References
LICS '98 Proceedings of the 13th Annual IEEE Symposium on Logic in Computer Science
The semantics of local storage, or what makes the free-list free?(Preliminary Report)
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Mathematical concepts in programming language semantics
AFIPS '72 (Spring) Proceedings of the May 16-18, 1972, spring joint computer conference
Relational semantics for higher-order programs
MPC'06 Proceedings of the 8th international conference on Mathematics of Program Construction
Capsules and closures: a small-step approach
Logic and Program Semantics
LICS '12 Proceedings of the 2012 27th Annual IEEE/ACM Symposium on Logic in Computer Science
DCFS'12 Proceedings of the 14th international conference on Descriptional Complexity of Formal Systems
Hi-index | 0.00 |
Capsules are a clean representation of the state of a computation in higher-order programming languages with effects. Their intent is to simplify and replace the notion of closure. They naturally provide support for functional and imperative features, including recursion and mutable bindings, and ensure lexical scoping without the use of closures, heaps, stacks or combinators. We present a comparison of the use of closures and capsules in the semantics of higher-order programming languages with effects. In proving soundness of one to the other, we give a precise account of how capsule environments and closure environments relate to each other.