Skip to main content

A definitional approach to functional logic programming

  • Conference paper
  • First Online:
Book cover Extensions of Logic Programming (ELP 1996)

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

Included in the following conference series:

Abstract

We describe a definitional approach to the combination of functional and logic programming based on the theory of Partial Inductive Definitions. The described method produces programs directly executable in the definitional programming language GCLA. We show both a basic calculus for functional logic program definitions and discuss a refined version where the rules definitional resolution, definitional reflection, and definitional axiom are altered to be better suited for functional evaluation and equation solving.

This work was carried out as part of the work in ESPRIT working group GENTZEN and was funded by The Swedish Board for Industrial and Technical Development (NUTEK).

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. H. Aït-Kaci and A. Podelski. Towards a meaning of life. Journal of Logic Programming, 16:195–234, 1993.

    Google Scholar 

  2. S. Antoy. Definitional trees. In Int. Conf. on Algebraic and Logic Programming ALP'92, Springer LNCS 632, pages 143–157. Springer-Verlag, 1992.

    Google Scholar 

  3. S. Antoy, R. Echahed, and M. Hanus. A needed narrowing strategy. In Proc. 21st ACM Symposium on Principles of Programming Languages, pages 268–279, 1994.

    Google Scholar 

  4. M. Aronsson. A definitional approach to the combination of functional and relational programming. Research Report SICS T91:10, Swedish Institute of Computer Science, 1991.

    Google Scholar 

  5. M. Aronsson. Methodology and programming techniques in GCLAII. In Proc. of Extensions of logic programming, ELP'91, Springer LNAI 596, 1992.

    Google Scholar 

  6. M. Aronsson. GCLA, The Design, Use, and Implementation of a Program Development System. PhD thesis, Stockholm University, Stockholm, Sweden, 1993.

    Google Scholar 

  7. M. Aronsson. Implementational issues in GCLA: A-sufficiency and the definiens operation. In Proc. of Extensions of logic programming, ELP'92, Springer LNAI 660, 1993.

    Google Scholar 

  8. G. Falkman and O. Torgersson. Programming methodologies in GCLA. In Extensions of logic programming, ELP'93, pages 120–151, Springer LNAI 798, 1994.

    Google Scholar 

  9. E. Giovannetti, G. Levi, C. Moiso, and C. Palamidessi. Kernel-LEAF: A logic plus functional language. Journal of Computer and System Sciences, 42:139–185, 1991.

    Google Scholar 

  10. L. Hallnäs. Partial inductive definitions. Theoretical Computer Science, 87(1):115–142, 1991.

    Google Scholar 

  11. L. Hallnäs and P. Schroeder-Heister. A proof-theoretic approach to logic programming. Journal of Logic and Computation, 1(2):261–283, 1990. Part 1: Clauses as Rules.

    Google Scholar 

  12. L. Hallnäs and P. Schroeder-Heister. A proof-theoretic approach to logic programming. Journal of Logic and Computation, 1(5):635–660, 1991. Part 2: Programs as Definitions.

    Google Scholar 

  13. M. Hanus. The integration of functions into logic programming; from theory to practice. Journal of Logic Programming, 19/20:593–628, 1994.

    Google Scholar 

  14. P. Kreuger. GCLA II: a definitional approach to control. In Extensions of logic programming, ELP91, Springer LNAI 596, 1992.

    Google Scholar 

  15. P. Kreuger. Axioms in definitional calculi. In Extensions of logic programming, ELP93, Springer LNAI 798, 1994.

    Google Scholar 

  16. P. Kreuger. Computational Issues in Calculi of Partial Inductive Definitions. PhD thesis, Department of Computing Science, University of Göteborg, Göteborg, Sweden, 1995.

    Google Scholar 

  17. J. Lloyd. Foundations of Logic Programming. Springer Verlag, second extended edition, 1987.

    Google Scholar 

  18. J. Lloyd. Combining functional and logic programming languages. In Proceedings of the 1994 International Logic Programming Symposium, ILPS'94, 1994.

    Google Scholar 

  19. R. Loogen, F. López-Fraguas, and M. Rodríguez-Artalejo. A demand driven computation strategy for lazy narrowing. In Proc. of the 5th Int. Symposium on Programming Language Implementation and Logic Programming,PLIP'93, pages 184–200, Springer LNCS 714, 1993.

    Google Scholar 

  20. J. J. Moreno-Navarro and M. Rodríguez-Artalejo. Logic programming with functions and predicates: The language BABEL. Journal of Logic Programming, 12:191–223, 1992.

    Google Scholar 

  21. L. Naish. Adding equations to NU-Prolog. In Proc. of the 3rd Int. Symposium on Programming Language Implementation and Logic Programming, pages 15–26, Springer LNCS 528, 1991.

    Google Scholar 

  22. S. Okui, A. Middeldorp, and T. Ida. Lazy narrowing: Strong completeness and eager variable elimination (extended abstract). In TAPSOFT'95: Theory and Practice of Software Development, pages 394–408. Springer LNCS 915, 1995.

    Google Scholar 

  23. P. Padawitz. Computing in Horn Clause Theories, volume 16 of EATCS Monographs on Theoretical Computer Science. Springer-Verlag, 1988.

    Google Scholar 

  24. U. S. Reddy. Narrowing as the operational semantics of functional languages. In Proceedings of the IEEE International Symposium on Logic Programming, pages 138–151. IEEE Computer Soc. Press, 1985.

    Google Scholar 

  25. O. Torgersson. Functional logic programming in GCLA. In Proceedings of the 6th Nordic Workshop on Programming Theory. Aarhus, 1994.

    Google Scholar 

  26. D. H. D. Warren. Higher-order extensions to prolog—are they needed? In D. Mitchie, editor, Machine Intelligence 10, pages 441–454. Edinburgh University Press, 1982.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Roy Dyckhoff Heinrich Herre Peter Schroeder-Heister

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag

About this paper

Cite this paper

Torgersson, O. (1996). A definitional approach to functional logic programming. In: Dyckhoff, R., Herre, H., Schroeder-Heister, P. (eds) Extensions of Logic Programming. ELP 1996. Lecture Notes in Computer Science, vol 1050. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60983-0_19

Download citation

  • DOI: https://doi.org/10.1007/3-540-60983-0_19

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60983-4

  • Online ISBN: 978-3-540-49751-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics