Distilling abstract machines

B Accattoli, P Barenbaum, D Mazza - ACM SIGPLAN Notices, 2014 - dl.acm.org
It is well-known that many environment-based abstract machines can be seen as strategies
in lambda calculi with explicit substitutions (ES). Recently, graphical syntaxes and linear …

Latent effects for reusable language components

B van den Berg, T Schrijvers, CB Poulsen… - Asian Symposium on …, 2021 - Springer
The development of programming languages can be quite complicated and costly. Hence,
much effort has been devoted to the modular definition of language features that can be …

Environments and the complexity of abstract machines

B Accattoli, B Barras - Proceedings of the 19th International Symposium …, 2017 - dl.acm.org
Abstract machines for functional languages rely on the notion of environment, a data
structure storing the previously encountered and delayed beta-redexes. This paper provides …

[PDF][PDF] Types by Need.

B Accattoli, G Guerrieri, M Leberle - ESOP, 2019 - library.oapen.org
A cornerstone of the theory of λ-calculus is that intersection types characterise termination
properties. They are a flexible tool that can be adapted to various notions of termination, and …

The call-by-need lambda calculus, revisited

S Chang, M Felleisen - … and Systems: 21st European Symposium on …, 2012 - Springer
The existing call-by-need λ describe lazy evaluation via equational logics. A programmer
can use these logics to safely ascertain whether one term is behaviorally equivalent to …

Useful open call-by-need

B Accattoli, M Leberle - arXiv preprint arXiv:2107.06591, 2021 - arxiv.org
This paper studies useful sharing, which is a sophisticated optimization for lambda-calculi, in
the context of call-by-need evaluation in presence of open terms. Useful sharing turns out to …

Purely functional lazy nondeterministic programming

S Fischer, O Kiselyov, C Shan - Journal of Functional programming, 2011 - cambridge.org
Functional logic programming and probabilistic programming have demonstrated the broad
benefits of combining laziness (nonstrict evaluation with sharing of the results) with …

A synthetic operational account of call-by-need evaluation

O Danvy, I Zerny - Proceedings of the 15th symposium on principles and …, 2013 - dl.acm.org
We present the first operational account of call by need that connects syntactic theory and
implementation practice. Syntactic theory: the storeless operational semantics using syntax …

Generalized refocusing: From hybrid strategies to abstract machines

M Biernacka, W Charatonik… - … Conference on Formal …, 2017 - drops.dagstuhl.de
We present a generalization of the refocusing procedure that provides a generic method for
deriving an abstract machine from a specification of a reduction semantics satisfying simple …

Classical call-by-need and duality

ZM Ariola, H Herbelin, A Saurin - International Conference on Typed …, 2011 - Springer
We study call-by-need from the point of view of the duality between call-by-name and call-by-
value. We develop sequent-calculus style versions of call-by-need both in the minimal and …