Implementing first-order rewriting with constructor systems (Q1112601): Difference between revisions

From MaRDI portal
Set OpenAlex properties.
ReferenceBot (talk | contribs)
Changed an Item
 
Property / cites work
 
Property / cites work: Programming with Equations / rank
 
Normal rank
Property / cites work
 
Property / cites work: Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems / rank
 
Normal rank
Property / cites work
 
Property / cites work: Q5581665 / rank
 
Normal rank
Property / cites work
 
Property / cites work: On the correspondence between two classes of reduction systems / rank
 
Normal rank
Property / cites work
 
Property / cites work: A refinement of strong sequentiality for term rewriting with constructors / rank
 
Normal rank
Property / cites work
 
Property / cites work: A new implementation technique for applicative languages / rank
 
Normal rank

Latest revision as of 10:12, 19 June 2024

scientific article
Language Label Description Also known as
English
Implementing first-order rewriting with constructor systems
scientific article

    Statements

    Implementing first-order rewriting with constructor systems (English)
    0 references
    0 references
    1988
    0 references
    Most first-order term rewriting systems used in functional programming require argument patterns to be built from constructor symbols in order to allow simple efficient implementations, although more general classes such as linear nonambiguous systems [\textit{G. Huet} and \textit{J.-J. Levy}, ``Computations in nonambiguous linear term rewriting systems'', Tech. Rep. 359, INRIA, France (1979)] have greater expressive power. In Inf. Process. Lett. 20, 83-85 (1985; Zbl 0566.68036) we presented a technique for implementing linear nonambiguous systems with an underlying engine that uses constructor-based definitions and showed that the required translation causes an expansion in system size that is quadratic in the worst case, but relatively small in realistic cases such as the LISP interpreter of \textit{C. M. Hoffmann} and \textit{M. O'Donnell} [ACM Trans. Program. Lang. Syst. 4, 83-112 (1982; Zbl 0481.68008)]. We show that the technique is applicable to three other classes - where applicability means preservation of defining characteristics and normal forms - if rewriting in the translated system respects a weak ordering on the new equations. The three classes are semi-regular (confluent non- overlapping), canonical (confluent terminating) and confluent call-by- value systems.
    0 references
    canonical systems
    0 references
    term rewriting systems
    0 references
    functional programming
    0 references
    constructor
    0 references

    Identifiers