Lambda lifting: transforming programs to recursive equations
Proc. of a conference on Functional programming languages and computer architecture
Computational semantics of term rewriting systems
Algebraic methods in semantics
Handbook of theoretical computer science (vol. B)
Handbook of logic in computer science (vol. 2)
Term rewriting and all that
Journal of the ACM (JACM)
Lambda-dropping: transforming recursive equations into programs with block structure
Theoretical Computer Science - Partial evaluation and semantics-based program manipulation
Computing in Systems Described by Equations
Computing in Systems Described by Equations
Term Rewriting Systems
Proceedings of the Third International Conference on Algebraic and Logic Programming
RTA'03 Proceedings of the 14th international conference on Rewriting techniques and applications
Hi-index | 0.00 |
This paper formalizes term rewriting systems (TRSs), called scoped, in which a rewrite rule can be nested within another rewrite rule. The right-hand side and/or the condition of a nested rule can refer to any variable in the left-hand side of a nesting rule. Nesting of rewrite rules is intended to define a lexical scope with static binding. Our work is applicable to programming languages in which programs are modeled by TRSs and computations are executed by rewriting or narrowing. In particular, we consider a class of non-confluent and non-terminating TRSs well suited for modeling modern functional logic programs. We describe an abstract implementation of rewriting and narrowing for scoped TRSs to show that scopes can be easily handled irrespective of the evaluation strategy. The efficiency of rewriting within a scoped TRS, measured using a narrowing virtual machine, is comparable to the efficiency of rewriting for non-scoped TRSs.