Denotational semantics and rewrite rules for FP

We consider languages whose operational semantics is given by a set of rewrite rules. For such languages, it is important to be able to determine that there are enough rules to completely reduce all meaningful expressions, but not so many that the system of rules is inconsistent. We develop a formal framework in which to give a precise treatment of these soundness and completeness issues. We believe our approach to be novel in that we make heavy use of denotational semantics in our proof of completeness. The particular language for which we answer these questions is an extended version of the functional programming language FP; however the applicability of these techniques extends beyond the realm of FP rewriting systems.

[1]  Erwin Emgeler Algebras and combinators , 1979 .

[2]  E. Engeler Algebras and combinators , 1981 .

[3]  D. A. Turner,et al.  A new implementation technique for applicative languages , 1979, Softw. Pract. Exp..

[4]  Christoph M. Hoffmann,et al.  Implementation of an interpreter for abstract equations , 1984, POPL '84.

[5]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[6]  Michael J. O'Donnell,et al.  Computing in systems described by equations , 1977, Lecture Notes in Computer Science.

[7]  Joseph E. Stoy,et al.  Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory , 1981 .

[8]  José Meseguer,et al.  PROGRAMMING WITH PARAMETERIZED ABSTRACT OBJECTS IN OBJ. , 1983 .

[9]  Peter Henderson,et al.  A lazy evaluator , 1976, POPL.

[10]  Daniel Leivant,et al.  The Expressiveness of Simple and Second-Order Type Structures , 1983, JACM.

[11]  Walter Dosch,et al.  Busy and lazy FP with infinite objects , 1984, LFP '84.

[12]  John H. Williams,et al.  Formal Representations for Recursively Defined Functional Programs , 1981, International Colloquium on Formalization of Programming Concepts.

[13]  Rod M. Burstall,et al.  HOPE: An experimental applicative language , 1980, LISP Conference.

[14]  John H. Williams,et al.  On the Development of the Algebra of Functional Programs , 1982, TOPL.

[15]  Jr. Hartley Rogers Theory of Recursive Functions and Effective Computability , 1969 .

[16]  Daniel P. Friedman,et al.  CONS Should Not Evaluate its Arguments , 1976, ICALP.