arXiv · 2603.21949
A simple and efficient implementation of strong call by need by an abstract machine
Abstract
Strong call-by-need combines full normalization with the sharing discipline of lazy evaluation, yet no prior implementation achieved both simplicity and efficiency. We introduce RKNL, an abstract machine that realizes strong call-by-need with bilinear overhead. The machine has been derived automatically from a higher-order evaluator that uses the technique of memothunks to implement laziness. By employing an off-the-shelf transformation tool implementing the ``functional correspondence'' between higher-order interpreters and abstract machines, we obtained a simple and concise description of the machine. We prove that the resulting machine conservatively extends the lazy version of Krivine machine for the weak call-by-need strategy, and that it simulates the normal-order strategy in a bilinear number of steps, i.e., linear in both the number of beta-reductions and the size of the input term.
Explore related subjects
Keep this discovery
Małgorzata Biernacka, Witold Charatonik, Tomasz Drab. 2026-03-23. A simple and efficient implementation of strong call by need by an abstract machine. https://doi.org/10.46298/jfp.17808
Cite the original work for its findings. Save a collection to share your selection of sources.