Categorical abstract machines for higher-order typed lambda-calculi

Curien's CAM is an environment machine for the untyped lambda -calculus based on cartesian closed categories (CCC's). This categorical model represents both environments and terms by morphisms regardless of their conceptual difference. We show that Ehrhard's D-categories yield a nice...

Full description

Bibliographic Details
Main Author: Ritter, E
Format: Journal article
Language:English
Published: Elsevier 1994
Subjects:
Description
Summary:Curien's CAM is an environment machine for the untyped lambda -calculus based on cartesian closed categories (CCC's). This categorical model represents both environments and terms by morphisms regardless of their conceptual difference. We show that Ehrhard's D-categories yield a nice way of separating these two notions. Based on suitable categorical combinators for these D-categories we derive an eager and a lazy abstract machine. These machines specialize to the CAM and to Krivine's machine respectively. D-categories extended with additional structure to model the calculus of constructions yield generalizations of the CAM and Krivine's machine to this higher-order lambda -calculus. We also obtain an algorithm for type checking of these combinators, which uses the above reduction machines. Tests using Church-numerals show that the abstract machines are quite efficient compared to other implementations.