Thats a unique idea.You should consider the following idea to enhance your idea so that it would impact uniquely:  bridge the gap beten compositional evaluators and abstract machines for the lambda-calculus, using closure conversion, transformation into continuation-passing style, and defunctionalization of continuations. This article is a spin-off of our article at PPDP 2003, where  consider call by name and call by value. Here, hover,  consider call by need.    derive a lazy abstract machine from an ordinary call-by-need evaluator that threads a heap of updatable cells. In this resulting abstract machine, the continuation fragment for updating a heap cell naturally appears as an `update marker', an implementation technique that was invented for the Three Instruction Machine and subsequently used to construct lazy variants of Krivine's abstract machine. Tuning the evaluator leads to other implementation techniques such as unboxed values and the push-enter model. The correctness of the resulting abstract machines is a corollary of the correctness of the original evaluators and of the program transformations used in the derivation.   Superseded by BRICS-RS-04-3.
['Mads Sig Ager', 'Olivier Danvy', 'Jan Midtgaard']
I am writing a research paper on a idea A Functional Correspondence between Call-by-Need Evaluators and Lazy Abstract Machines
[{"from": "human", "value": "I am writing a research paper on a idea A Functional Correspondence between Call-by-Need Evaluators and Lazy Abstract Machines"}, {"from": "gpt", "value": "Thats a unique idea.You should consider the following idea to enhance your idea so that it would impact uniquely:  bridge the gap beten compositional evaluators and abstract machines for the lambda-calculus, using closure conversion, transformation into continuation-passing style, and defunctionalization of continuations. This article is a spin-off of our article at PPDP 2003, where  consider call by name and call by value. Here, hover,  consider call by need.    derive a lazy abstract machine from an ordinary call-by-need evaluator that threads a heap of updatable cells. In this resulting abstract machine, the continuation fragment for updating a heap cell naturally appears as an `update marker', an implementation technique that was invented for the Three Instruction Machine and subsequently used to construct lazy variants of Krivine's abstract machine. Tuning the evaluator leads to other implementation techniques such as unboxed values and the push-enter model. The correctness of the resulting abstract machines is a corollary of the correctness of the original evaluators and of the program transformations used in the derivation.   Superseded by BRICS-RS-04-3."}]