Safe-for-Space Linked Environmentsfestschrift
This program is tentative and subject to change.
Techniques for implementing a call-by-value λ-calculus are well known, particularly starting from Reynolds’s definitional interpreter and using techniques that Danvy developed for moving between reduction rules and abstract machines. Proper tail-call handling is practically automatic in Reynolds’s approach, but \emph{space safety} is less readily available, particularly if worst-case time complexity is also relevant. In this paper, we explore an approach to space safety that is realized through the garbage collector, instead of the interpreter loop, in the hope of finding a convenient implementation technique that matches the asymptotic time bounds of fast evaluation models and the asymptotic space bounds of compact evaluation models. We arrive within a size-of-source factor of achieving those bounds. Our implementation technique is comparable in complexity to some other interpreter variants; specifically, it requires some library functions for binary trees, specialized environment traversals in the garbage collector, and a compilation pass to gather the free variables of each expression and to rewrite each variable reference to its binding depth.
This program is tentative and subject to change.
Tue 14 OctDisplayed time zone: Perth change
13:40 - 15:20 | |||
13:40 25mTalk | Defining Algebraic Effects and Handlers via Trails and Metacontinuationsfestschrift OlivierFest | ||
14:05 25mTalk | A Compositional Semantics for eval in Schemefestschrift OlivierFest Peter D. Mosses Swansea University and Delft University of Technology | ||
14:30 25mTalk | Generic Reduction-Based Interpretersfestschrift OlivierFest Casper Bach University of Southern Denmark | ||
14:55 25mTalk | Safe-for-Space Linked Environmentsfestschrift OlivierFest |