Hostname: page-component-77c78cf97d-kmjgn Total loading time: 0.001 Render date: 2026-04-23T10:30:27.642Z Has data issue: false hasContentIssue false

A categorical understanding of environment machines

Published online by Cambridge University Press:  07 November 2008

Andrea Asperti
Affiliation:
INRIA, Rocquencourt, 78153 Le Chesnay, France (Asperti@margaux.inria.fr)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

In the last two decades, category theory has become one of the main tools for the denotational investigation of programming languages. Taking advantage of the algebraic nature of the categorical semantics, and of the rewriting systems it suggests, it is possible to use these denotational descriptions as a base for research into more operational aspects of programming languages.

This approach proves to be particularly interesting in the study and the definition of environment machines for functional languages. The reason is that category theory offers a simple and uniform language for handling terms and environments (substitutions), and for studying their interaction (through application).

Several examples of known machines are discussed, among which the Categorical Abstract Machine of Cousineau et al. (1987) and Krivine's machine. Moreover, as an example of the power and fruitfulness of this approach, we define two original categorical machines. The first one is a variant of the CAM implementing a λ-calculus with both call-by-value and call-by-name as parameters passing modes. The second one is a variant of Krivine's machine performing complete reduction of λ-terms.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 1992
Submit a response

Discussions

No Discussions have been published for this article.