Director strings as combinators
ACM Transactions on Programming Languages and Systems (TOPLAS)
An algorithm for optimal lambda calculus reduction
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The geometry of optimal lambda reduction
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A call-by-need lambda calculus
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Confluence properties of weak and strong calculi of explicit substitutions
Journal of the ACM (JACM)
Functional runtime systems within the lambda-sigma calculus
Journal of Functional Programming
Closed reduction: explicit substitutions without $\alpha$-conversion
Mathematical Structures in Computer Science
Resource operators for λ-calculus
Information and Computation
Perpetuality for Full and Safe Composition (in a Constructive Setting)
ICALP '08 Proceedings of the 35th international colloquium on Automata, Languages and Programming, Part II
Extending the explicit substitution paradigm
RTA'05 Proceedings of the 16th international conference on Term Rewriting and Applications
The theory of calculi with explicit substitutions revisited
CSL'07/EACSL'07 Proceedings of the 21st international conference, and Proceedings of the 16th annuall conference on Computer Science Logic
Hi-index | 0.00 |
We present a name free λ-calculus with explicit substitutions based on a generalized notion of director strings: we annotate a term with information about how each substitution should be propagated through the term. We first present a calculus where we can simulate arbitrary β-reduction steps, and then simplify the rules to model the evaluation of functional programs (reduction to weak head normal form). We also show that we can derive the closed reduction strategy (a weak strategy which, in contrast with standard weak strategies allows certain reductions to take place inside λ-abstractions thus offering more sharing). Our experimental results confirm that, for large combinator based terms, our weak evaluation strategies out-perform standard evaluators. Moreover, we derive two abstract machines for strong reduction which inherit the efficiency of the weak evaluators.