Distilling abstract machines

@article{Accattoli2014DistillingAM,  title={Distilling abstract machines},  author={Beniamino Accattoli and Pablo Barenbaum and Damiano Mazza},  journal={ACM SIGPLAN Notices},  year={2014},  volume={49},  pages={363 - 376},  url={https://api.semanticscholar.org/CorpusID:15525837}}
The distillation process unveils that abstract machines in fact implement weak linear head reduction, a notion of evaluation having a central role in the theory of linear logic, and shows that the LSC is a complexity-preserving abstraction of abstract machines.

Figures and Tables from this paper

85 Citations

A Strong Distillery

This paper introduces a machine for the simplest form of strong evaluation, leftmost-outermost (call-by-name) evaluation to normal form, proving it correct, complete, and bounding its overhead.

The Complexity of Abstract Machines

This paper provides an unusual introduction to abstract machines, based on the complexity of their overhead with respect to the length of the implemented strategies, and is conceived to be a tutorial, focusing on the case study of implementing the weak head (call-by-name) strategy.

Crumbling Abstract Machines

This work studies how a crumbled representation of terms impacts on the design and the efficiency of abstract machines for call-by-value evaluation and proves that everything smoothly scales up to the delicate case of open terms, needed to implement proof assistants.

Open Call-by-Value

A detailed comparative study of the operational semantics of four calculi, coming from different areas such as the study of abstract machines, denotational semantics, linear logic proof nets, and sequent calculus, showing that these calculi are all equivalent from a termination point of view.

Exponentials as Substitutions and the Cost of Cut Elimination in Linear Logic

The exponential substitution calculus (ESC) is introduced, a new presentation of cut elimination for IMELL, based on proof terms and building on the idea that exponentials can be seen as explicit substitutions, providing the first polynomial cost model for cut elimination with unconstrained exp onentials.

Metaconfluence of Calculi with Explicit Substitutions at a Distance

This work establishes metaconfluence for a family of calculi with explicit substitutions (ES) that enjoy preservation of strong-normalization (PSN) and that act at a distance on metaterms, providing for the first time an interesting family of lambda-calculi with implicit substitutions that enjoy both PSN and metacon fluence without requiring sophisticated notions of reduction modulo a set of equations.

The Dynamic Geometry of Interaction Machine: A Call-by-need Graph Rewriter

This paper shows a token-passing abstract machine that can implement evaluation strategies for the lambda calculus, with certified time efficiency, and confirms that the DGoIM with this strategy of interleaving the two kinds of possible operations on graphs can be classified as "efficient" following Accattoli's taxonomy of abstract machines.

Strong Call-by-Value is Reasonable, Implosively

It is shown that also strong call-by-value evaluation is reasonable for time, via a new abstract machine realizing useful sharing and having a linear overhead, and a new mix of sharing techniques, which on some terms brings an exponential speed-up.

Beta reduction is invariant, indeed

The definition of useful reductions and the thorough analysis of their properties are presented, indeed the main technical contribution of the paper is indeed the definition of useful reductions and the thorough analysis of their properties.

A Strong Call-By-Need Calculus

A call-by-need $\lambda$-calculus is presented that enables strong reduction (that is, reduction inside the body of abstractions) and guarantees that arguments are only evaluated if needed and at most once and that the calculus is shown to be normalizing in a strong sense.
...

54 References

Distilling Abstract Machines (Long Version)

The distillation process unveils that abstract machines in fact implement weak linear head reduction, a notion of evaluation having a central role in the theory of linear logic, and shows that the LSC is a complexity-preserving abstraction of abstract machines.

A concrete framework for environment machines

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.

Evaluating functions as processes

It is shown that an abstract-machine evaluation of a lambda-term in the pi-calculus corresponds to linear weak head reduction, a strategy arising from the representation of lambda-terms as linear logic proof nets, and that the relation between the two is as tight as it can be.

A functional correspondence between evaluators and abstract machines

The gap between functional evaluators and abstract machines for the λ-calculus is bridged using closure conversion, transformation into continuation-passing style, and defunctionalization, and the Categorical Abstract Machine is considered.

The fine-structure of lambda calculus

This paper starts by setting the ground for a lambda calculus notation that strongly mirrors the two fundamental operations of term construction, namely abstraction and application, and provides a type operator which gives a representative type for a typeable tenll.

Sequent calculi and abstract machines

We propose a sequent calculus derived from the λ―μμ˜-calculus of Curien and Herbelin that is expressive enough to directly represent the fine details of program evaluation using typical abstract

The Call-by-need Lambda Calculus, Revisited

This paper eliminates both the function call retention problem and the extraneous re-association axioms of lazy evaluation using a single axiom, and establishes a correspondence between the semantics and Launchbury's natural semantics.

Beta reduction is invariant, indeed

The definition of useful reductions and the thorough analysis of their properties are presented, indeed the main technical contribution of the paper is indeed the definition of useful reductions and the thorough analysis of their properties.

A Syntactic Correspondence between Context-Sensitive Calculi and Abstract Machines

We present a systematic construction of environment-based abstract machines from context-sensitive calculi of explicit substitutions, and we illustrate it with ten calculi and machines for
...

Related Papers

Showing 1 through 3 of 0 Related Papers