Crumbling Abstract Machines

07/13/2019
by   Beniamino Accattoli, et al.
0

Extending the lambda-calculus with a construct for sharing, such as let expressions, enables a special representation of terms: iterated applications are decomposed by introducing sharing points in between any two of them, reducing to the case where applications have only values as immediate subterms. This work studies how such a crumbled representation of terms impacts on the design and the efficiency of abstract machines for call-by-value evaluation. About the design, it removes the need for data structures encoding the evaluation context, such as the applicative stack and the dump, that get encoded in the environment. About efficiency, we show that there is no slowdown, clarifying in particular a point raised by Kennedy, about the potential inefficiency of such a representation. Moreover, we prove that everything smoothly scales up to the delicate case of open terms, needed to implement proof assistants. Along the way, we also point out that continuation-passing style transformations–that may be alternatives to our representation–do not scale up to the open case.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/13/2022

Fully Abstract Encodings of λ-Calculus in HOcore through Abstract Machines

We present fully abstract encodings of the call-by-name and call-by-valu...
research
07/14/2021

Useful Open Call-by-Need

This paper studies useful sharing, which is a sophisticated optimization...
research
02/13/2021

Strong Call-by-Value is Reasonable, Implosively

Whether the number of beta-steps in the lambda-calculus can be taken as ...
research
02/28/2018

The Dynamic Geometry of Interaction Machine: A Token-Guided Graph Rewriter

In implementing evaluation strategies of the lambda-calculus, both corre...
research
02/19/2018

Efficient Implementation of Evaluation Strategies via Token-Guided Graph Rewriting

In implementing evaluation strategies of the lambda-calculus, both corre...
research
08/28/2021

Cirquent calculus in a nutshell

This paper is a brief and informal presentation of cirquent calculus, a ...
research
07/09/2018

A Formal Approach to Open Multiparty Interactions

We present a process algebra aimed at describing interactions that are m...

Please sign up or login with your details

Forgot password? Click here to reset