Skip to main content

Logic programming and logic grammars with first-order continuations

  • Conference paper
  • First Online:

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

Abstract

Continuation passing binarization and specialization of the WAM to binary logic programs have been proven practical implementation techniques in the BinProlog system. In this paper we investigate the additional benefits of having first order continuations at source level. We devise a convenient way to manipulate them by introducing multiple-headed clauses which give direct access to continuations at source-level. We discuss the connections with various logic grammars, give examples of typical problem solving tasks and show how looking at the future of computation can improve expressiveness and describe complex control mechanisms without leaving the framework of binary definite programs.

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. S. Akl. The design and analysis of parallel algorithms. Prentice Hall, Englewood Cliffs, 1989.

    Google Scholar 

  2. J.-M. Andreoli and R. Pareschi. Linear objects: Logical processes with built-in inheritance. In D. Warren and P. Szeredi, editors, 7th Int. Conf. Logic Programming, Jerusalem, Israel, 1990. MIT Press.

    Google Scholar 

  3. J. Andrews, V. Dahl, and F. Popowich. A Relevance Logic Characterization of Static Discontinuity Grammars. Technical report, CSS/LCCR TR 91-12, Simon Fraser University, 1991.

    Google Scholar 

  4. P. Brisset. Compilation de λProlog. Thèse, Université de Rennes I, 1992.

    Google Scholar 

  5. W. Chen and D. S. Warren. Compilation of predicate abstractions in higher-order logic programming. In J. Maluszyński and M. Wirsing, editors, Proceedings of the 3rd Int. Symposium on Programming Language Implementation and Logic Programming, PLILP91, Passau, Germany, number 528 in Lecture Notes in Computer Science, pages 287–298. Springer Verlag, Aug. 1991.

    Google Scholar 

  6. A. Colmerauer. Metamorphosis Grammars, volume 63, pages 133–189. Springer-Verlag, 1978.

    Google Scholar 

  7. A. Colmerauer, H. Kanoui, R. Pasero, and P. Roussel. Un systeme de communication homme-machine en francais. Technical report, Groupe d'Intelligence Artificielle, Universite d'Aix-Marseille II, Marseille, 1973.

    Google Scholar 

  8. V. Dahl. Translating Spanish into logic through logic. American Journal of Computational Linguistics, 13:149–164, 1981.

    Google Scholar 

  9. V. Dahl. Discontinuous grammars. Computational Intelligence, 5(4):161–179, 1989.

    Google Scholar 

  10. J.-M. Jacquet and L. Monteiro. Comparative semantics for a parallel contextual logic programming language. In S. Debray and M. Hermenegildo, editors, Proceedings of the 1990 North American Conference on Logic Programming, pages 195–214, Cambridge, Massachusetts London, England, 1990. MIT Press.

    Google Scholar 

  11. J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 1987.

    Google Scholar 

  12. J. Lobo, J. Minker, and A. Rajasekar. Extending the semantics of logic programs to disjunctive logic programs. In G. Levi and M. Martelli, editors, Proceedings of the Sixth International Conference on Logic Programming, pages 255–267, Cambridge, Massachusetts London, England, 1989. MIT Press.

    Google Scholar 

  13. J. Maluszyński. On the relationship between context-dependent grammars and multi-headed clauses., June 1994. Personal Communication.

    Google Scholar 

  14. D. Miller. A logic programming language with lambda-abstraction, function variables, and simple unification. J. Logic and Computation, 1(4):497–536, 1991.

    Google Scholar 

  15. D. A. Miller. Lexical scoping as universal quantification. In G. Levi and M. Martelli, editors, Proceedings of the Sixth International Conference on Logic Programming, pages 268–283, Cambridge, Massachusetts London, England, 1989. MIT Press.

    Google Scholar 

  16. L. Monteiro and A. Porto. Contextual logic programming. In G. Levi and M. Martelli, editors, Proceedings of the Sixth International Conference on Logic Programming, pages 284–299, Cambridge, Massachusetts London, England, 1989. MIT Press.

    Google Scholar 

  17. F. Pereira. Extraposition grammars. American Journal for Computational Linguistics, 7:243–256, 1981.

    Google Scholar 

  18. M. Proietti. On the definition of binarization in terms of fold/unfold., June 1994. Personal Communication.

    Google Scholar 

  19. M. Proietti and A. Pettorossi. Unfolding-definition-folding, in this order, for avoiding unnecessary variables in logic programs. In J. Maluszyński and M. Wirsing, editors, Proceedings of the 3rd Int. Symposium on Programming Language Implementation and Logic Programming, PLILP91, Passau, Germany, number 528 in Lecture Notes in Computer Science, pages 347–358. Springer Verlag, Aug. 1991.

    Google Scholar 

  20. P. Prusinkiewicz and J. Hanan. L-systems: from formalism to programming languages. Springer-Verlag, 1992.

    Google Scholar 

  21. D. W. Reed, D. W. Loveland, and B. T. Smith. An alternative characterization of disjunctive logic programs. In V. Saraswat and K. Ueda, editors, Logic Programming Proceedings of the 1991 International Symposium, pages 54–70, Cambridge, Massachusetts London, England, 1991. MIT Press.

    Google Scholar 

  22. J. Stoy. Denotational Semantics: the Scott-Strachey Approach to Programming Language Theory. Cambridge, MA. The MIT Press, 1977.

    Google Scholar 

  23. P. Tarau. Program Transformations and WAM-support for the Compilation of Definite Metaprograms. In A. Voronkov, editor, Logic Programming, RCLP Proceedings, number 592 in Lecture Notes in Artificial Intelligence, pages 462–473, Berlin, Heidelberg, 1992. Springer-Verlag.

    Google Scholar 

  24. P. Tarau and M. Boyer. Elementary Logic Programs. In P. Deransart and J. Małuszyński, editors, Proceedings of Programming Language Implementation and Logic Programming, number 456 in Lecture Notes in Computer Science, pages 159–173. Springer, Aug. 1990.

    Google Scholar 

  25. P. Tarau and K. De Bosschere. Memoing with Abstract Answers and Delphi Lemmas. In Y. Deville, editor, Logic Program Synthesis and Transformation, Springer-Verlag, Workshops in Computing, Louvain-la-Neuve, July 1993.

    Google Scholar 

  26. P. Wadler. Monads and composable continuations. Lisp and Symbolic Computation, pages 1–17, 1993.

    Google Scholar 

  27. M. Wand. Continuation-based program transformation strategies. Journal of the Association for Computing Machinery, 27(1):164–180, 1980.

    Google Scholar 

  28. D. H. D. Warren. Higher-order extensions to Prolog — are they needed? In D. Michie, J. Hayes, and Y. H. Pao, editors, Machine Intelligence 10. Ellis Horwood, 1981.

    Google Scholar 

  29. D. S. Warren. The XOLDT System. Technical report, SUNY Stony Brook, electronic document: ftp sbcs.sunysb.edu, 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Laurent Fribourg Franco Turini

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Tarau, P., Dahl, V. (1994). Logic programming and logic grammars with first-order continuations. In: Fribourg, L., Turini, F. (eds) Logic Program Synthesis and Transformation — Meta-Programming in Logic. META LOPSTR 1994 1994. Lecture Notes in Computer Science, vol 883. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58792-6_14

Download citation

  • DOI: https://doi.org/10.1007/3-540-58792-6_14

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58792-7

  • Online ISBN: 978-3-540-49104-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics