Skip to main content

Combinatory forms for equational programming: Instances, unification and narrowing

  • Conference paper
  • First Online:
  • 170 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 431))

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.

Unable to display preview. Download preview PDF.

References

  1. M. Bellia and G. Levi 1986 “The Relation between Logic and Functional Programming Languages: A Survey”, J. Logic Programming,3,3, pages 217–236

    Article  Google Scholar 

  2. M. Bellia “Retactions: a Functional Paradigm for Logic Programming”, TAPSOFT87, LNCS 250, Springer Verlag, pages 260–275.

    Google Scholar 

  3. M. Bellia 1988 “Logic and Functional Programming by Retractions: Operational Semantics” Informatique Teorique et Applications, 22, 4, pages 395–436.

    Google Scholar 

  4. J. Beer 1988 “The Occur-check Problem Revised” J. Logic Programming, 5, 3, pp. 243–262.

    Article  Google Scholar 

  5. P.G. Bosco, E. Giovannetti and C. Moiso “Refined Strategies for Semantic Unification” TAPSOFT87, LNCS 250, Springer Verlag, pages 276–290.

    Google Scholar 

  6. A. Colmerauer “Prolog and Infinite Trees” Logic Programming, K.L. Clark and S-A. Tarnlund eds., Academic Press, pages 231–251.

    Google Scholar 

  7. N. Dershowitz and D.A. Plaisted “Equational Programming” Machine Intelligence, 11, pages 21–56.

    Google Scholar 

  8. M.H. van Emden and J.W. Lloyd 1984 “A Logical Reconstruction of PrologII”, J. Logic Programming,1,2, pages 143–149

    Article  Google Scholar 

  9. M.J. Fay “First Order Unification in an Equational Theory” 4th Workshop on Automated Deduction, Austin, Texas, pages 161–167.

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  12. R.J.M. Hughes “Super-Combinators: A New Implementation Method for Applicative Languages” ACM Symp. on LISP and Functional Programming, pages 1–20.

    Google Scholar 

  13. J.M. Hullot “Canonical Forms and Unification” 5th Conf. on Automated Deduction, LNCS 87, Springer Verlag, pages 318–334.

    Google Scholar 

  14. A. Josephson and N. Dershowitz 1989 “An Implementation of Narrowing” J. Logic Programming, 6, 3, pages 57–77.

    Article  MathSciNet  Google Scholar 

  15. D. Lankford “Canonical Inference” Univ. of Texas, Math. Dept., Automatic Theorem Proving Project, Austin, Texas, Rep. ATp-32.

    Google Scholar 

  16. G. Lindstrom “Functional Programming and the Logical Variable” 12th ACM Symp. on Principles of Programming Languages, pages 266–280.

    Google Scholar 

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

    Google Scholar 

  18. R.D. Lins 1986 “Categorical Multi-combinators” Univ. of Kent, Computing Lab., Canterbury, U.K.

    Google Scholar 

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

    Google Scholar 

  20. J.H. Morris, E. Schmidt and P. Wandler “Experience with an Applicative String Processing Language”

    Google Scholar 

  21. D.A. Plaisted “The Occur-check Problem in Prolog” 1984 Symp. on Logic Programming, Atlantic City, IEEE Comp. Soc. Press, pages 272–280.

    Google Scholar 

  22. U.S. Reddy “Narrowing as the Operational Semantics of Functional Languages” 1985 Symp. on Logic Programming, Boston, IEEE Comp. Soc. Press, pages 138–151.

    Google Scholar 

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

    Google Scholar 

  24. J.A. Robinson “Beyond LogLisp: Combining Functional and Relational Programming in a Reduction Settiing” Machine Intelligence, 11, pages 57–68.

    Google Scholar 

  25. D.A. Turner 1979 “A New Implementation Technique for Applicative Languages” Software, Practice and Experience, 9, pages 31–49.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

A. Arnold

Rights and permissions

Reprints 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

Publish with us

Policies and ethics