Abstract
A relevant drawback of current implementations of logic programming languages is represented by the use of substitutions to keep bindings of logical variables, l-variables. Powerful compilation techniques, i.e. translation to combinatory logic, and implementation techniques such as reduction machines, have shown how to overcome this problem in the context of functional languages. The paper addresses a similar approach to equational logic programming: equations are translated into variable-free combinations and correspondingly narrowing is reformulated in terms of a set of reduction rules.
Partially supported by ESPRIT Basic Research Action 3020 - Integration
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
M. Bellia and G. Levi 1986 “The Relation between Logic and Functional Programming Languages: A Survey”, J. Logic Programming,3,3, pages 217–236
M. Bellia “Retactions: a Functional Paradigm for Logic Programming”, TAPSOFT87, LNCS 250, Springer Verlag, pages 260–275.
M. Bellia 1988 “Logic and Functional Programming by Retractions: Operational Semantics” Informatique Teorique et Applications, 22, 4, pages 395–436.
J. Beer 1988 “The Occur-check Problem Revised” J. Logic Programming, 5, 3, pp. 243–262.
P.G. Bosco, E. Giovannetti and C. Moiso “Refined Strategies for Semantic Unification” TAPSOFT87, LNCS 250, Springer Verlag, pages 276–290.
A. Colmerauer “Prolog and Infinite Trees” Logic Programming, K.L. Clark and S-A. Tarnlund eds., Academic Press, pages 231–251.
N. Dershowitz and D.A. Plaisted “Equational Programming” Machine Intelligence, 11, pages 21–56.
M.H. van Emden and J.W. Lloyd 1984 “A Logical Reconstruction of PrologII”, J. Logic Programming,1,2, pages 143–149
M.J. Fay “First Order Unification in an Equational Theory” 4th Workshop on Automated Deduction, Austin, Texas, pages 161–167.
D.P. Friedman and D.S. Wise “Cons Should not Evaluate its Arguments” Automata, Languages and Programming, Michaelson and Milner ed., Edinburgh Univ. Press, pages 257–284.
G. Huet and D.C. Oppen “Equations and Rewrite Rules: A Survey” Formal Language Theory: Perspectives and Open Problems, R. Book ed., Academic Press, pages 349–405.
R.J.M. Hughes “Super-Combinators: A New Implementation Method for Applicative Languages” ACM Symp. on LISP and Functional Programming, pages 1–20.
J.M. Hullot “Canonical Forms and Unification” 5th Conf. on Automated Deduction, LNCS 87, Springer Verlag, pages 318–334.
A. Josephson and N. Dershowitz 1989 “An Implementation of Narrowing” J. Logic Programming, 6, 3, pages 57–77.
D. Lankford “Canonical Inference” Univ. of Texas, Math. Dept., Automatic Theorem Proving Project, Austin, Texas, Rep. ATp-32.
G. Lindstrom “Functional Programming and the Logical Variable” 12th ACM Symp. on Principles of Programming Languages, pages 266–280.
J-L. Lassez, M.J. Maher and K. Marriott “Unification Revised” Foundations of Deductive Databases and Logic Programming, J. Minker ed., Morgan Kaufmann Pub., pages 587–626.
R.D. Lins 1986 “Categorical Multi-combinators” Univ. of Kent, Computing Lab., Canterbury, U.K.
A. Martelli, C. Moiso and G.F. Rossi “An Algorithm for Unification in Equational Theories” 1986 Symp. on Logic Programming, Seattle, IEEE Comp. Soc. Press, pages 180–186.
J.H. Morris, E. Schmidt and P. Wandler “Experience with an Applicative String Processing Language”
D.A. Plaisted “The Occur-check Problem in Prolog” 1984 Symp. on Logic Programming, Atlantic City, IEEE Comp. Soc. Press, pages 272–280.
U.S. Reddy “Narrowing as the Operational Semantics of Functional Languages” 1985 Symp. on Logic Programming, Boston, IEEE Comp. Soc. Press, pages 138–151.
U.S. Reddy 1986 “On the Relationship between Logic and Functional Languages” Logic Programming, R. De Groot and G. Lindstrom eds., Prentice-Hall, Englewood Cliffs, N.J., pages 3–23.
J.A. Robinson “Beyond LogLisp: Combining Functional and Relational Programming in a Reduction Settiing” Machine Intelligence, 11, pages 57–68.
D.A. Turner 1979 “A New Implementation Technique for Applicative Languages” Software, Practice and Experience, 9, pages 31–49.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1990 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bellia, M., Bugliesi, M., Occhiuto, M.E. (1990). Combinatory forms for equational programming: Instances, unification and narrowing. In: Arnold, A. (eds) CAAP '90. CAAP 1990. Lecture Notes in Computer Science, vol 431. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-52590-4_39
Download citation
DOI: https://doi.org/10.1007/3-540-52590-4_39
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-52590-5
Online ISBN: 978-3-540-47042-7
eBook Packages: Springer Book Archive