Abstract
Higher-order hereditary Harrop formulas, the underlying logical foundation of λProlog [NM88], are more expressive than first-order Horn clauses, the logical foundation of Prolog. In particular, various forms of scoping and abstraction are supported by the logic of higherorder hereditary Harrop formulas while they are not supported by firstorder Horn clauses. Various papers have argued that the scoping and abstraction available in this richer logic can be used to provide for modular programming [Mil89b], abstract data types [Mil89a], and state encapsulation [HM90]. None of these papers, however, have dealt with the problems of programming-in-the-large, that is, the essentially linguistic problems of putting together various different textual sources of code found, say, in different files on a persistent store into one logic program. In this paper, I propose a module system for λProlog and shall focus mostly on its static semantics.
An earlier version of this paper was first presented at the 1992 Workshop on λProlog. The work presented here is supported in part by grants ONR N00014-88-K-0633, NSF CCR-91-02753, and DARPA N00014-85-K-0018.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
M. Bugliesi, E. Lamina, and P. Mello. Modularity in logic programming. Journal of Logic Programming, 1994. To appear.
Pascal Brisset and Olivier Ridoux. The architecture of an implementation of λProlog: Prolog/Mali. In Dale Miller, editor, Proceedings of the 1992 λProlog Workshop, 1992.
Roy Dyckhoff. Contraction-free sequent calculi for intuitionistic logic. Journal of Symbolic Logic, 57(3), September 1992
Conal Elliott and Frank Pfenning. eLP, a Common Lisp Implementation of λProlog. Implemented as part of the CMU ERGO project, May 1989.
Gerhard Gentzen. Investigations into logical deductions, 1935. In M. E. Szabo, editor, The Collected Papers of Gerhard Gentzen, pages 68–131. North-Holland Publishing Co., Amsterdam, 1969.
L. Giordano, A. Martelli, and G. F. Rossi. Local definitions with static scope rules in logic languages. In Proceedings of the FGCS International Conference, Tokyo, 1988.
D. M. Gabbay and U. Reyle. N-Prolog: An extension of Prolog with hypothetical implications. I. Journal of Logic Programming, 1:319–355, 1984.
Elsa L. Gunter. Extensions to logic programming motivated by the construction of a generic theorem prover. In Peter Schroeder-Heister, editor, Extensions of Logic Programming: International Workshop, Tübingen FRG, December 1989, volume 475 of Lecture Notes in Artificial Intelligence, pages 223–244. Springer-Verlag, 1991.
Joshua Hodas and Dale Miller. Representing objects in a logic programming language with scoping constructs. In David H. D. Warren and Peter Szeredi, editors, 1990 International Conference in Logic Programming, pages 511–526. MIT Press, June 1990.
Joshua Hodas and Dale Miller. Logic programming in a fragment of intuitionistic linear logic. Journal of Information and Computation, 1994. (To appear). Available from ftp.cis.upenn.edu, pub/papers/miller/ic92.dvi.Z.
Jörg Hudelmaier. Bounds for cut elimination in intuitionistic propositional logic. PhD thesis, University of Tübingen, Tubingen, 1989. To appear in Archive of Mathematical Logic.
Keehang Kwon, Gopalan Nadathur, and Debra Sue Wilson. Implementing a notion of modules in the logic programming language λprolog. In E. Lamma and P. Mello, editors, Proceedings of the 1992 Workshop on Extensions to Logic Programming, number 660 in Lecture Notes in Computer Science. Springer-Verlag, 1993.
L. T. McCarty. Clausal intuitionistic logic I. fixed point semantics. Journal of Logic Programming, 5:1–31, 1988.
L. T. McCarty. Clausal intuitionistic logic II. tableau proof procedure. Journal of Logic Programming, 5:93–132, 1988.
Dale Miller. A theory of modules for logic programming. In Robert M. Keller, editor, Third Annual IEEE Symposium on Logic Programming, pages 106–114, Salt Lake City, Utah, September 1986.
Dale Miller. Lexical scoping as universal quantification. In Sixth International Logic Programming Conference, pages 268–283, Lisbon, Portugal, June 1989. MIT Press.
Dale Miller. A logical analysis of modules in logic programming. Journal of Logic Programming, 6(1–2):79–108, January 1989.
Dale Miller. Abstractions in logic programming. In Piergiorgio Odifreddi, editor, Logic and Computer Science, pages 329–359. Academic Press, 1990.
Dale Miller. Abstract syntax and logic programming. In Logic Programming: Proceedings of the First and Second Russian Conferences on Logic Programming, number 592 in Lecture Notes in Artificial Intelligence, pages 322–337. Springer-Verlag, 1992.
Dale Miller and Gopalan Nadathur. λProlog Version 2.7. Distribution in C-Prolog and Quintus sources, July 1988.
Dale Miller, Gopalan Nadathur, Frank Pfenning, and Andre Scedrov. Uniform proofs as a foundation for logic programming. Annals of Pure and Applied Logic, 51:125–157, 1991.
Gopalan Nadathur and Dale Miller. An Overview of λProlog. In Fifth International Logic Programming Conference, pages 810–827, Seattle, Washington, August 1988. MIT Press.
Gopalan Nadathur and Frank Pfenning. The type system of a higher-order logic programming language. In Frank Pfenning, editor, Types in Logic Programming, pages 245–283. MIT Press, 1992.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Miller, D. (1994). A proposal for modules in λProlog. In: Dyckhoff, R. (eds) Extensions of Logic Programming. ELP 1993. Lecture Notes in Computer Science, vol 798. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58025-5_58
Download citation
DOI: https://doi.org/10.1007/3-540-58025-5_58
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58025-6
Online ISBN: 978-3-540-48417-2
eBook Packages: Springer Book Archive