Skip to main content


eCommons@Cornell

eCommons@Cornell >
Faculty of Computing and Information Science >
Computing and Information Science >
Computing and Information Science Technical Reports >

Please use this identifier to cite or link to this item: http://hdl.handle.net/1813/22082
Title: Computing with Capsules
Authors: Jeannin, Jean-Baptiste
Kozen, Dexter
Keywords: capsules
semantics
functional programming
imperative programming
scoping
coalgebra
lambda-calculus
Issue Date: 26-Jan-2011
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.
URI: http://hdl.handle.net/1813/22082
Appears in Collections:Computing and Information Science Technical Reports

Files in This Item:

File Description SizeFormat
Capsules.pdfMain article215.23 kBAdobe PDFView/Open

Refworks Export

Items in eCommons are protected by copyright, with all rights reserved, unless otherwise indicated.

 

© 2014 Cornell University Library Contact Us