Skip to main content

Extended logic-plus-functional Programming

  • Conference paper
  • First Online:
Extensions of Logic Programming (ELP 1991)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 596))

Included in the following conference series:

Abstract

Extensions of logic and functional programming are integrated in RELFUN. Its valued clauses comprise Horn clauses (‘true’-valued) and clauses with a distinguished ‘foot’ premise (returning arbitrary values). Both the logic and functional components permit LISP-like varying-arity and higher-order operators. The DATAFUN sublanguage of the functional component is shown to be preferable to relational encodings of functions in DATALOG. RELFUN permits non-ground, non-deterministic functions, hence certain functions can be inverted using an ‘is’-primitive generalizing that of PROLOG. For function nestings a strict call-by-value strategy is employed. The reduction of these extensions to a relational sublanguage is discussed and their WAM compilation is sketched. Three examples ‘serialise’, ‘wang’, and ‘eval’) demonstrate the relational/functional style in use. The list expressions of RELFUN's LISP implementation are presented in an extended PROLOG-like syntax.

This research was supported by the BMFT under Grant ITW 8902 C4.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. John Backus. Can programming be liberated from the von Neumann style? A functional style and its algebra of programs. CACM, 21(8):613–641, August 1978.

    Google Scholar 

  2. P.G. Bosco, E. Giovannetti, and C. Moiso. Narrowing vs. SLD-resolution. Theoretical Computer Science, 59:3–23, 1988.

    Article  Google Scholar 

  3. Harold Boley, Philipp Hanschke, Martin Harm, Knut Hinkelmann, Thomas Labisch, Manfred Meyer, Joerg Mueller, Thomas Oltzen, Michael Sintek, Werner Stein, and Frank Steinle. Μ CAD2NC: A declarative latheworkplanning model transforming CAD-like geometries into abstract NC programs. Technical Report Document D-91-15, University of Kaiserslautern, DFKI, November 1991.

    Google Scholar 

  4. H. Boley, P. Hanschke, K. Hinkelmann, and M. Meyer. COLAB: A Hybrid Knowledge Compilation Laboratory. 3rd International Workshop on Data, Expert Knowledge and Decisions: Using Knowledge to Transform Data into Information for Decision Support, September 1991.

    Google Scholar 

  5. Harold Boley. RELFUN: A relational/functional integration with valued clauses. SIGPLAN Notices, 21(12):87–98, December 1986.

    Google Scholar 

  6. Harold Boley. A relational/functional language and its compilation into the WAM. Technical Report SEKI SR-90-05, University of Kaiserslautern, Department of Computer Science, April 1990.

    Google Scholar 

  7. Harold Boley. Declarative operations on nets. In Fritz Lehmann, editor, Semantic Networks in Artificial Intelligence. Special Issue of Computers & Mathematics with Applications, Pergamon Press, 1992. Preprinted as: DFKI Research Report RR-90-12, Oct. 1990.

    Google Scholar 

  8. Mats Carlsson and Kenneth M. Kahn. LM-Prolog user manual. Technical Report UPMAIL 24, Uppsala University, Department of Computer Science, Revised April 1985.

    Google Scholar 

  9. D. DeGroot and G. Lindstrom, editors. Logic Programming: Functions, Relations, and Equations. Prentice-Hall, 1986.

    Google Scholar 

  10. Laurent Fribourg. Oriented equational clauses as a programming language. J. Logic Programming, 1(2):165–177, 1984.

    Article  Google Scholar 

  11. Laurent Fribourg. SLOG: A logic programming language interpreter based on clausal superposition and rewriting. In 1985 Symposium on Logic Programming, pages 172–184. IEEE Computer Society Press, 1985.

    Google Scholar 

  12. Michael R. Genesereth and Richard Fikes in collaboration with Danny Bobrow, Piero Bonissone, Ron Brachman, Ramanathan Guha, Reed Letsinger, Valdimir Lifschitz, Bob MacGregor, John McCarthy, Peter Norvig, Ramesh Patil, and Len Schubert. Knowledge Interchange Format Version 2.2 Reference Manual. Technical Report Logic-90-4, Stanford University, Computer Science Department, Logic Group, March 1991.

    Google Scholar 

  13. Joseph A. Goguen and José Meseguer. Equality, types, modules, and (why not?) generics for logic programming. J. Logic Programming, 1(2):179–210, 1984.

    Article  Google Scholar 

  14. John W. Lloyd. Foundations of Logic Programming. Springer-Verlag, Berlin, Heidelberg, New York, 1987.

    Google Scholar 

  15. [MAE+62] John McCarthy, Paul W. Abrahams, Daniel J. Edwards, Timothy P. Hart, and Michael I. Levin. LISP 1.5 programmer's manual. MIT Press, Cambridge, Mass., 1962.

    Google Scholar 

  16. Gopalan Nadathur and Dale Miller. Higher-order Horn clauses. JACM, 37(4):777–814, October 1990.

    Article  Google Scholar 

  17. M. J. O'Donnell. Equational Logic as a Programming Language. MIT Press, Cambridge, Mass., 1985.

    Google Scholar 

  18. Luís Moniz Pereira and António Porto. Pure Lisp in pure Prolog. Logic Programming Newsletter 3, Summer 1982. Universidade Nova de Lisboa, Departamento de Informática.

    Google Scholar 

  19. Lawrence C. Paulson and Andrew W. Smith. Logic programming, functional programming, and inductive definitions. In P. Schroeder-Heister, editor, Extensions of Logic Programming, pages 283–309, Berlin, Heidelberg, New York, 1991. Springer-Verlag. LNCS 475.

    Google Scholar 

  20. Michael Sintek. Generalized indexing methods for higher-order PROLOG extensions: A case study with the RELFUN WAM. Technical report, University of Kaiserslautern, DFKI, Forthcoming 1992.

    Google Scholar 

  21. David H. D. Warren. Higher-order extensions to PROLOG: Are they needed? Machine Intelligence, 10:441–454, 1982.

    Google Scholar 

  22. David H. D. Warren, Luis M. Pereira, and Fernando Pereira. Prolog — the language and its implementation compared with Lisp. SIGPLAN Notices, 12(8):109–115, August 1977. Special Issue.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

L. -H. Eriksson L. Hallnäs P. Schroeder-Heister

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Boley, H. (1992). Extended logic-plus-functional Programming. In: Eriksson, L.H., Hallnäs, L., Schroeder-Heister, P. (eds) Extensions of Logic Programming. ELP 1991. Lecture Notes in Computer Science, vol 596. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0013603

Download citation

  • DOI: https://doi.org/10.1007/BFb0013603

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55498-1

  • Online ISBN: 978-3-540-47114-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics