The next 700 Krivine MachinesReport as inadecuate

The next 700 Krivine Machines - Download this document for free, or read online. Document in PDF available to download.

1 OBASCO - Objects, aspects and components Mines Nantes - Mines Nantes, Inria Rennes – Bretagne Atlantique 2 POP ART - Programming languages, Operating Systems, Parallelism, and Aspects for Real-Time Inria Grenoble - Rhône-Alpes

Abstract : The Krivine machine is a simple and natural implementation of the normal weak-head reduction strategy for pure lambda-terms. While its original description has remained unpublished, this machine has served as a basis for many variants, extensions and theoretical studies. In this paper, we present the Krivine machine and some well-known variants in a common framework. Our framework consists of a hierarchy of intermediate languages that are subsets of the lambda-calculus. The whole implementation process compiler + abstract machine is described via a sequence of transformations all of which express an implementation choice. We characterize the essence of the Krivine machine and locate it in the design space of functional language implementations. We show that, even within the particular class of Krivine machines, hundreds of variants can be designed.

Keywords : Functional Programming Krivine machine abstract machines program transformation compilation functional language implementations

Author: Rémi Douence - Pascal Fradet -



Related documents