An abstract machine for Lambda-terms normalization
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
A compiled implementation of strong reduction
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
STACS '87 Proceedings of the 4th Annual Symposium on Theoretical Aspects of Computer Science
Demonstrating lambda calculus reduction
The essence of computation
A functional correspondence between evaluators and abstract machines
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
The calculi of lambda-nu-cs conversion: a syntactic theory of control and state in imperative higher-order programming languages
Theoretical Computer Science - Applied semantics: Selected topics
A concrete framework for environment machines
ACM Transactions on Computational Logic (TOCL)
Strongly reducing variants of the Krivine abstract machine
Higher-Order and Symbolic Computation
Information Processing Letters
Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation
Deriving the full-reducing Krivine machine from the small-step operational semantics of normal order
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Deriving interpretations of the gradually-typed lambda calculus
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Hi-index | 0.00 |
Olivier Danvy and others have shown the syntactic correspondence between reduction semantics (a small-step semantics) and abstract machines, as well as the functional correspondence between reduction-free normalisers (a big-step semantics) and abstract machines. The correspondences are established by program transformation (so-called interderivation) techniques. A reduction semantics and a reduction-free normaliser are interderivable when the abstract machine obtained from them is the same. However, the correspondences fail when the underlying reduction strategy is hybrid, i.e., relies on another sub-strategy. Hybridisation is an essential structural property of full-reducing and complete strategies. Hybridisation is unproblematic in the functional correspondence. But in the syntactic correspondence the refocusing and inlining-of-iterate-function steps become context sensitive, preventing the refunctionalisation of the abstract machine. We show how to solve the problem and showcase the interderivation of normalisers for normal order, the standard, full-reducing and complete strategy of the pure lambda calculus. Our solution makes it possible to interderive, rather than contrive, full-reducing abstract machines. As expected, the machine we obtain is a variant of Pierre Crégut's full Krivine machine KN.