The Complexity of Abstract Machines
Beniamino Accattoli (INRIA, LIX, \'Ecole Polytechnique)

TL;DR
This paper explores the complexity and efficiency of abstract machines implementing lambda-calculus evaluation strategies, particularly focusing on the weak head (call-by-name) strategy, providing new insights and a tutorial perspective.
Contribution
It offers an original analysis of the overhead complexity of abstract machines for lambda-calculus, including new observations not previously published.
Findings
Analyzes the overhead complexity of abstract machines
Provides a tutorial on implementing the weak head strategy
Introduces new unpublished observations about machine efficiency
Abstract
The lambda-calculus is a peculiar computational model whose definition does not come with a notion of machine. Unsurprisingly, implementations of the lambda-calculus have been studied for decades. Abstract machines are implementations schema for fixed evaluation strategies that are a compromise between theory and practice: they are concrete enough to provide a notion of machine and abstract enough to avoid the many intricacies of actual implementations. There is an extensive literature about abstract machines for the lambda-calculus, and yet-quite mysteriously-the efficiency of these machines with respect to the strategy that they implement has almost never been studied. 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. It is conceived to be a tutorial, focusing on the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
