TY - GEN
T1 - Equation, sets, and reduction semantica for functional and logic programming
AU - Jayaraman, Bharat
AU - Silbermann, Frank S.K.
N1 - Publisher Copyright:
© 1986 ACM.
PY - 1986/8/8
Y1 - 1986/8/8
N2 - We present a framework for first-order functional and Horn-logic programming using rewrite rules and equations. A program in this framework is a set of rewrite rules followed by a set of equations that need to be solved. These rewrite rules are an extension of the rewrite rules found in non-canonical term-writing systems in that they permit conditions, expressed as a set of equations having logical variables, on the right-hand side of a rule. The reduction semantics of equations is given in terms of complete sets of solutions. An operational strategy which computes these solutions is given in terms of a new technique called object refinement. This semantics is also called the refinement semantics. Object refinement is a generalisation of the outermost reduction rule of functional languages and the unification rule of logic languages. Consistency and completeness theorems are presented in order to establish the equivalence of the reduction and refinement semantics. Since an equation may possess multiple solutions, a set construct is provided to collect these solutions. The resulting language, called EqL, is currently being implemented. Examples are used to illustrate the language constructs and their semantics. The relationship of these ideas to other closely related ideas, notably narrowing, is also discussed.
AB - We present a framework for first-order functional and Horn-logic programming using rewrite rules and equations. A program in this framework is a set of rewrite rules followed by a set of equations that need to be solved. These rewrite rules are an extension of the rewrite rules found in non-canonical term-writing systems in that they permit conditions, expressed as a set of equations having logical variables, on the right-hand side of a rule. The reduction semantics of equations is given in terms of complete sets of solutions. An operational strategy which computes these solutions is given in terms of a new technique called object refinement. This semantics is also called the refinement semantics. Object refinement is a generalisation of the outermost reduction rule of functional languages and the unification rule of logic languages. Consistency and completeness theorems are presented in order to establish the equivalence of the reduction and refinement semantics. Since an equation may possess multiple solutions, a set construct is provided to collect these solutions. The resulting language, called EqL, is currently being implemented. Examples are used to illustrate the language constructs and their semantics. The relationship of these ideas to other closely related ideas, notably narrowing, is also discussed.
UR - https://www.scopus.com/pages/publications/84915297231
U2 - 10.1145/319838.319873
DO - 10.1145/319838.319873
M3 - Conference contribution
AN - SCOPUS:84915297231
T3 - Proceedings of the 1986 ACM Conference on LISP and Functional Programming, LFP 1986
SP - 320
EP - 331
BT - Proceedings of the 1986 ACM Conference on LISP and Functional Programming, LFP 1986
PB - Association for Computing Machinery, Inc
T2 - 1986 ACM Conference on LISP and Functional Programming, LFP 1986
Y2 - 4 August 1986 through 6 August 1986
ER -