Cornell University
Library
Cornell UniversityLibrary

eCommons

Help
Log In(current)
  1. Home
  2. Cornell Computing and Information Science
  3. Computing and Information Science
  4. Computing and Information Science Technical Reports
  5. Computing with Capsules

Computing with Capsules

File(s)
Capsules.pdf (215.23 KB)
Main article
Permanent Link(s)
https://hdl.handle.net/1813/22082
Collections
Computing and Information Science Technical Reports
Author
Jeannin, Jean-Baptiste
Kozen, Dexter
Abstract

Capsules provide a clean algebraic representation of the state of a computation in higher-order functional and imperative languages. They play the same role as closures or heap- or stack-allocated environments but are much simpler. A capsule is essentially a finite coalgebraic representation of a regular closed lambda-coterm. One can give an operational semantics based on capsules for a higher-order programming language with functional and imperative features, including mutable bindings. Lexical scoping is captured purely algebraically without stacks, heaps, or closures. All operations of interest are typable with simple types, yet the language is Turing complete. Recursive functions are represented directly as capsules without the need for unnatural and untypable fixpoint combinators.

Date Issued
2011-01-26
Keywords
capsules
•
semantics
•
functional programming
•
imperative programming
•
scoping
•
coalgebra
•
lambda-calculus
Type
technical report

Site Statistics | Help

About eCommons | Policies | Terms of use | Contact Us

copyright © 2002-2026 Cornell University Library | Privacy | Web Accessibility Assistance