A functional correspondence between evaluators and abstract machines

MS Ager, D Biernacki, O Danvy… - Proceedings of the 5th …, 2003 - dl.acm.org
We bridge the gap between functional evaluators and abstract machines for the λ-calculus,
using closure conversion, transformation into continuation-passing style, and …

FreshML: Programming with binders made simple

MR Shinwell, AM Pitts, MJ Gabbay - Proceedings of the eighth ACM …, 2003 - dl.acm.org
FreshML extends ML with elegant and practical constructs for declaring and manipulating
syntactical data involving statically scoped binding operations. User-declared FreshML …

Defunctionalized interpreters for programming languages

O Danvy - ACM Sigplan Notices, 2008 - dl.acm.org
This document illustrates how functional implementations of formal semantics (structural
operational semantics, reduction semantics, small-step and big-step abstract machines …

A concrete framework for environment machines

M Biernacka, O Danvy - ACM Transactions on Computational Logic …, 2007 - dl.acm.org
We materialize the common understanding that calculi with explicit substitutions provide an
intermediate step between an abstract specification of substitution in the lambda-calculus …

Foundations for programming and implementing effect handlers

D Hillerström - 2022 - era.ed.ac.uk
First-class control operators provide programmers with an expressive and efficient means for
manipulating control through reification of the current control state as a first-class object …

A rational deconstruction of Landin's SECD machine

O Danvy - Symposium on Implementation and Application of …, 2004 - Springer
Landin's SECD machine was the first abstract machine for the λ-calculus viewed as a
programming language. Both theoretically as a model of computation and practically as an …

Surgical precision JIT compilers

T Rompf, AK Sujeeth, KJ Brown, HJ Lee… - Proceedings of the 35th …, 2014 - dl.acm.org
Just-in-time (JIT) compilation of running programs provides more optimization opportunities
than offline compilation. Modern JIT compilers, such as those in virtual machines like …

A functional correspondence between monadic evaluators and abstract machines for languages with computational effects

MS Ager, O Danvy, J Midtgaard - Theoretical Computer Science, 2005 - Elsevier
We extend our correspondence between evaluators and abstract machines from the pure
setting of the λ-calculus to the impure setting of the computational λ-calculus. We show how …

A derived reasonable abstract machine for strong call by value

M Biernacka, W Charatonik, T Drab - Proceedings of the 23rd …, 2021 - dl.acm.org
We present an efficient implementation of the full-reducing call-by-value strategy for the pure
λ-calculus in the form of an abstract machine. The presented machine has been …

An abstract machine for strong call by value

M Biernacka, D Biernacki, W Charatonik… - Asian Symposium on …, 2020 - Springer
We present an abstract machine that implements a full-reducing (aka strong) call-by-value
strategy for pure λ λ-calculus. It is derived using Danvy et al.'s functional correspondence …