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
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