Skip to main content

Functional extensions to prolog: Are they needed?

  • Invited Papers
  • Conference paper
  • First Online:
Algebraic and Logic Programming (ALP 1988)

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

Included in the following conference series:

Abstract

Thus, it turns out that the control information implicitly contained in each functional program with constructors can still be exploited after compilation under a Prolog form, by means of:

  1. (1)

    modification of the (leftmost atom) selection strategy used in Prolog SLD-resolution,

  2. (2)

    addition of the rule of atom elimination.

For both innermost and lazy strategies, it leads to an implementation equivalent as regards to the computation process, but much more efficient than a direct implementation of narrowing at the functional level.

This title is inspired from D.H.D. Warren's paper: "Higher-order extensions to PROLOG: are they needed?" in Logic Programming, K.L. Clark and S.-A. Tarnlund, eds., Academic Press, 1982, pp. 441–454.

This work has been partially supported by Laboratoires de Marcoussis and ESPRIT project 432.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Barbuti, R., Bellia, M., Levi, G., Martelli, M., "LEAF: A Language which Integrates Logic, Equations and Functions", in Logic Programming: Functions, Relations and Equations, D. DeGroot and G. Linstrom, eds., Prentice-Hall, 1986, pp. 201–238.

    Google Scholar 

  2. Bellia, M., Levi G., "The Relation between Logic and Functional Languages: A Survey", J. Logic Programming 3:3, Oct. 1986, pp. 217–236.

    Article  MATH  Google Scholar 

  3. Bosco, P.G., Giovannetti, E., Moiso, C., "Refined Strategies for Semantic Unification", Proc. TAPSOFT, LNCS 250, Springer-Verlag, 1987, pp. 89–95.

    MathSciNet  MATH  Google Scholar 

  4. Bosco, P.G., Giovannetti, E., Levi, G., Moiso, C., Palamidessi, C., "A Complete Characterization of K-LEAF, a Logic Language with Partial Functions", Proc. Intl. Symp. on Logic Programming, 1987, pp. 89–95.

    Google Scholar 

  5. Cheong, P.H., "Techniques de mise en oeuvre de langages logico-fonctionnels", D.E.A. Report, Laboratoire d'Informatique de l'Ecole Normale Superieure, Paris, 1988.

    Google Scholar 

  6. Colmerauer, A., "Metamorphosis Grammars", in Natural Language Communication with Computers, LNCS 63, Springer-Verlag, New York, 1978, pp. 133–189.

    Chapter  Google Scholar 

  7. Deransart, P., "An Operational Algebraic Semantics of PROLOG Programs" Proc. Programmation en Logique, Perros-Guirrec, CNET-Lannion, Mar. 1983.

    Google Scholar 

  8. Dershowitz, N., Plaisted, D., "Logic Programming cum Applicative Programming", Proc. IEEE Intl. Symp. on Logic Programming, Boston, MA, 1985, pp. 54–66.

    Google Scholar 

  9. Fay, M., "First-order unification in an equational theory", Proc. Fourth Workshop on Automated Deduction, Austin, TX, 1979, pp. 161–167.

    Google Scholar 

  10. Fribourg, L., "A Narrowing Procedure for Theories with Constructors", Proc. Intl. Conf. on Automated Deduction, LNCS 170, 1984, pp. 259–301.

    MathSciNet  MATH  Google Scholar 

  11. Fribourg, L., "SLOG: a Logic Programming Language Interpreter Based on Clausal Superposition and Rewriting", Proc. IEEE Intl. Symp. on Logic Programming, Boston, MA, 1985, pp. 172–184.

    Google Scholar 

  12. Fribourg, L., "PROLOG with Simplification", 1st France-Japan Symp. on Artifical Intelligence and Computer Science, Fuchi and Nivat, eds., Elsevier Science Publishers B.V. (North-Holland), 1988, pp. 161–183.

    Google Scholar 

  13. Giovanetti, E., Moiso, C., "A Completeness Result for E-unification Algorithms Based on Conditional Narrowing", Fundations of Logic and Functional Programming, LNCS 306, Springer-Verlag, 1988, pp.157–167.

    Google Scholar 

  14. Goguen, J.A., Meseguer, J., "Equality, Types, Modules and (why not?) Generics for Logic Programming", J. Logic Programming, Vol. 1, NO 2, 1984, pp. 179–210.

    Article  MathSciNet  MATH  Google Scholar 

  15. Hansson, A., Haridi, S., Tarnlund, S.-A., "Properties of a Logic Programming Language", in Logic Programming, K. Clark and S.-A. Tarnlund, eds., Academic Press, 1982, pp. 267–280.

    Google Scholar 

  16. Heilbrunner, S., Holldobler, S., "The Undecidability of the Unification and Matching Problem for Canonical Theories", Acta Informatica, Vol. 24, No. 2, 1987, pp. 157–171.

    Article  MathSciNet  MATH  Google Scholar 

  17. Hullot, J.M., "Canonical Forms and Unification", Proc. Fifth Conf. on Automated Deduction, Les Arcs, France, 1980, pp. 318–334.

    Google Scholar 

  18. Hussmann H., "Unification in Conditional-Equational Theories", Proc. EUROCAL 85 Conf., Linz, 1985.

    Google Scholar 

  19. Jaffar, J., Lassez, J.L., Maher, M.J., "A Theory of Complete Logic Programs with Equality", J. Logic Programming, Vol. 1, No. 3, 1984, pp. 211–223.

    Article  MathSciNet  MATH  Google Scholar 

  20. Kaplan, K., "Fair Conditional Term Rewriting Systems: Unification, Termination and Confluency", Technical Report, Laboratoires de Recherche en Informatique, U. Paris-Sud, Orsay, France, 1984.

    Google Scholar 

  21. Kowalski, R., "Logic Programming", Information Processing, R.E.A. Mason, ed., Elsevier Science Publishers B.V. (North-Holland), 1983, pp. 133–145.

    Google Scholar 

  22. Nutt, W., Rety, P., Smolka, G., "Basic Narrowing Revisited", Technical Report SR-87-07, U. Kaiserslautern, 1987.

    Google Scholar 

  23. Pereira, F.C.N., Warren, H.D., "Definite Clause Grammars for Language Analysis: a Survey of the Formalism and a Comparison with the Augmented Transition Networks", Artificial Intelligence 13, 1980, pp. 231–278.

    Article  MathSciNet  MATH  Google Scholar 

  24. Plotkin, G.D., "Building-in Equational Theories", in Machine Intelligence, Vol. 7, B. Meltzer and D. Michie (eds.), Halsted, Wiley, NY, 1972, pp. 73–90.

    Google Scholar 

  25. Reddy, U.S., "Narrowing as the Operational Semantics of Functional Languages, Proc. IEEE Intl. Symp. on Logic Programming, Boston, MA, 1985, pp. 138–151.

    Google Scholar 

  26. Robinson, J.A., "A Machine-Oriented Logic Based on the Resolution Principle", J. Association for Computing Machinery, Vol. 20, 1965, pp. 23–41.

    Article  MathSciNet  MATH  Google Scholar 

  27. Slagle, J.R., "Automated Theorem-Proving for Theories with Simplifiers, Commutativity, and Associativity", J. Association for Computing Machinery, Vol. 21, No 4, 1974, pp. 622–642.

    Article  MathSciNet  MATH  Google Scholar 

  28. Subrahmanyam, P.A., You, J.H., "Conceptual Basis and Evaluation Strategies for Integrating Functional and Logic Programming", Proc. IEEE Intl. Symp. on Logic Programming, Atlantic City, NJ, 1984, pp. 144–153.

    Google Scholar 

  29. Tamaki, H., "Semantics of a Logic Programming Language with a Reducibility Predicate", Proc. IEEE Symposium on Logic Programming, Atlantic City, Feb. 1984, pp. 259–264.

    Google Scholar 

  30. Togashi, A., Noguchi, S., "A Program Transformation from Equational Programs into Logic Programs", J. Logic Programming 4, 1987, pp. 85–103.

    Article  MathSciNet  MATH  Google Scholar 

  31. Van Emden, M.H., Yukawa, K., "Logic Programming with Equations", J. Logic Programming 4, 1987, pp. 265–288.

    Article  MathSciNet  MATH  Google Scholar 

  32. You, J.-H., Subrahmanyam, P.A., "E-Unification Algorithms for a Class of Confluent Term Rewriting Systems", Intl. Colloquium on Automata, Languages and Programming Languages, LNCS 226, Springer-Verlag, 1986, pp. 454–463.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. Grabowski P. Lescanne W. Wechler

Rights and permissions

Reprints and permissions

Copyright information

© 1988 Akademie-Verlag Berlin

About this paper

Cite this paper

Fribourg, L. (1988). Functional extensions to prolog: Are they needed?. In: Grabowski, J., Lescanne, P., Wechler, W. (eds) Algebraic and Logic Programming. ALP 1988. Lecture Notes in Computer Science, vol 343. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-50667-5_54

Download citation

  • DOI: https://doi.org/10.1007/3-540-50667-5_54

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-50667-6

  • Online ISBN: 978-3-540-46063-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics