1 research outputs found

    Term Rewriting with Sharing and Memoïzation

    No full text
    Jungle evaluation is an approach to define term rewriting with sharing based on graph grammars. This approach preserves important properties of term rewriting like termination, and confluence for terminating systems (under mild restrictions). In this paper, term rewriting with sharing is further accelerated, by memoization known from functional programming languages: The result of evaluating a function with some arguments is tabulated so that it can be looked up later on when the function is re-applied to the same arguments. We show that term rewriting with sharing and memoization is correct and complete w.r.t. jungle evaluation if the rules are non-overlapping and non-looping. Redundant re-evaluation of functions is avoided, independent of a particular strategy for applying evaluation rules. 1 Introduction Term rewriting is a basis for prototyping algebraic specifications of abstract data types, and a foundation of functional programming languages (see [DJ90] and [Klo90] for overvie..
    corecore