Computing with capsules

  • Authors:
  • Jean-Baptiste Jeannin;Dexter Kozen

  • Affiliations:
  • Department of Computer Science, Cornell University, Ithaca, New York;Department of Computer Science, Cornell University, Ithaca, New York

  • Venue:
  • DCFS'12 Proceedings of the 14th international conference on Descriptional Complexity of Formal Systems
  • Year:
  • 2012
  • New

    Electronic Notes in Theoretical Computer Science (ENTCS)

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 interest are typable with simple types, yet the language is Turing complete. Recursive functions are represented directly as capsules without the need for fixpoint combinators.