Proceedings Article10.1145/91556.91681
An abstract machine for Lambda-terms normalization
P. Crégut
- 01 May 1990
- pp 333-340
84
TL;DR: Two abstract machines reducing terms to their full normal form are presented, based on Krivine's abstract machine [Kri85] which uses an environment to store arguments of function calls.
read more
Abstract: Two abstract machines reducing terms to their full normal form are presented in this paper. They are based on Krivine's abstract machine [Kri85] which uses an environment to store arguments of function calls. A proof of their correctness is then stated in the abstract framework of ls-calculus [Cur89].
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
A Functional Correspondence between Evaluators and Abstract Machines
TL;DR: This work bridge the gap between functional evaluators and abstract machines for the lambda-calculus, using closure conversion, transformation into continuation-passing style, and defunctionalization of continuations to derive Krivine's abstract machine and the CEK machine from an ordinary call-by-name evaluator.
A concrete framework for environment machines
TL;DR: Back to Curien's original calculus of closures (an early calculus with explicit substitutions), it is extended minimally so that it can also express one-step reduction strategies, and a series of environment machines are derived from the specification of two one- step reduction strategies for the lambda-calculus.
Strongly reducing variants of the Krivine abstract machine
Pierce Cregut
- 01 Sep 2007
TL;DR: Two variants of the Krivine abstract machine that reduce lambda-terms to full normal form are presented and a proof of their correctness is given by interpreting their behaviour in the λσ-calculus.
59
A Syntactic Correspondence between Context-Sensitive Calculi and Abstract Machines
TL;DR: This work presents a systematic construction of environment-based abstract machines from context-sensitive calculi of explicit substitutions, and illustrates it with ten calculi and machines for applicative order with an abort operation, normal order with generalized reduction and call/cc, the lambda-mu-calculus, delimited continuations, i/o, stack inspection, proper tail-recursion, and lazy evaluation.
Explicit Substitutions with de Bruijn's Levels
Pierre Lescanne,Jocelyne Rouyer-Degli +1 more
- 05 Apr 1995
References
A Transformation System for Developing Recursive Programs
Rod M. Burstall,John Darlington +1 more
TL;DR: A system of rules for transforming programs, with the programs in the form of recursion equations, are described, with an initially very simple, lucid, and hopefully correct program transformed into a more efficient one by altering the recursion structure.
1.4K
Explicit substitutions
Martín Abadi,Luca Cardelli,Pierre-Louis Curien,Jean-Jacques Lévy +3 more
- 01 Dec 1989
TL;DR: The λ&sgr;-calculus is a refinement of the λ-Calculus where substitutions are manipulated explicitly, and provides a setting for studying the theory of substitutions, with pleasant mathematical properties.
TIM: A simple, lazy abstract machine to execute supercombinatorics
John Fairbairn,Stuart C. Wray +1 more
- 14 Sep 1987
TL;DR: The three instruction machine Tim is described, an abstract machine for the execution of supercombinators that usually executes programmes faster than the G-machine style of abstract machine while being at least as easy to implement as an S-K combinator reducer.