Abstract
Are higher-order extensions to logic programming needed? We suggest a negative answer by showing that higher-order features are already available in pure logic programming. It is demonstrated that higher-order lambda calculus-based languages can be compositionally embedded in logic programming languages preserving their semantics and abstraction facilities. Further, we show that such higher-order techniques correspond to programming techniques often practiced in logic programming.
Chapter PDF
Similar content being viewed by others
Keywords
References
S. Abramsky. Computational interpretation of linear logic. Tutorial Notes, International Logic Programming Symposium, San Diego, 1991, 1991.
S. Abramsky. Computational interpretations of linear logic. Theoretical Comp. Science, 111(1–2):3–57, 1993.
M. Barr.. *-Autonomous categories and linear logic. Math. Structures in Comp. Science, 1:159–178, 1991.
R. Bird and P. Wadler. Introduction to Functional Programming. Prentice-Hall International, London, 1988.
W. Chen, M. Kifer, and D. S. Warren. HiLog: A first-order semantics for higher-order logic programming constructs. In L. Lusk, E and R. A. Overbeek, editors, Logic Programming: Proc. of the North American Conf. 1989, pages 1090–1144. MIT Press, 1989.
K. L. Clark and S. A. Tarnlund. A first-order theory of data and programs. In Information Processing, pages 939–944. North-Holland, 1977.
A. Dovier, E. G. Omodeo, E. Pontelli, and G. F. Rossi. {log: A logic programming langugae with finite sets. In K. Furukawa, editor, Logic Programming: Proceedings of the Eigth International Conference. MIT Press, 1991.
J.-Y. Girard, Linear logic. Theoretical Comp. Science, 50:1–102, 1987.
S. Gregory. Parallel Logic Programming in PARLOG: The Language and its Implementation. Addison-Wesley, Reading, Mass., 1987.
C. A. Gunter. Semantics of Programming Languages: Structures and Techniques. MIT Press, 1992.
R. J. M. Hughes. A novel representation of lists and its application to the function “reverse”. Information Processing Letters, 22:141–144, Mar 1986.
Y. Lafont. Linear logic programming. In P. Dybjer, editor, Porc. Workshop on Programming Logic, pages 209–220. Univ. of Goteborg and Chalmers Univ. Technology, Goteborg, Sweden, Oct 1987.
T. K. Lakshman. Typed prolog: Type checking/type reconstruction system (version 1.0). Software available by anonymous FTP from cs.uiuc.edu, 1991.
J.-L. Lassez and M. J. Maher. Closures and fairness in the semantics of programming logic. Theoretical Computer Science, pages 167–184, May 1984.
T.K. Lakshman and U. S. Reddy. Typed Prolog: A Semantic Reconstruction of the Mycroft-O'Keefe Type System. In V. Saraswat and K. Ueda, editors, Logic Programming: Proceedings of the 1991 International Symposium, pages 202–217. MIT Press, Cambridge, Mass., 1991.
R. Milner. Functions as processes. In Proceedings of ICALP 90, volume 443 of Lect. Notes in Comp. Science, pages 167–180. Springer-Verlag, 1990.
D. A. Miller and G. Nadathur. Higher-order logic programming. In Intern. Conf. on Logic Programming, 1986.
Lee Naish. Negation and control in Prolog, volume 238 of Lect. Notes in Comp. Science. Springer-Verlag, New York, 1986.
L. C. Paulson. ML for the Working Programmer. Cambridge Univ. Press, Cambridge, 1991.
F. Pfenning and C. Elliott. Higher-order abstract syntax. In ACM SIGPLAN '88 Conf. Program. Lang. Design and Impl., pages 22–24. ACM, 1988.
G. D. Plotkin. LCF considered as a programming language. Theoretical Comp. Science, 5:223–255, 1977.
U. S. Reddy. Higher-order functions and state-manipulation in logic programming. In R. Dyckhoff, editor, Fourth Workshop on Extensions of Logic Programming, pages 115–126, St. Andrews, Scotland, Mar 1993. St. Andrews University.
U. S. Reddy. A typed foundation for directional logic programming. In E. Lamma and P. Mello, editors, Extensions of Logic Programming, volume 660 of Lect. Notes in Artificial Intelligence, pages 282–318. Springer-Verlag, 1993.
Vijay Saraswat. The category of constraint systems is Cartesian-closed. In Proceedings, Seventh Annual IEEE Symposium on Logic in Computer Science, pages 341–345, Santa Cruz, California, 22–25 June 1992. IEEE Computer Society Press.
D. S. Scott. A type theoretical alternative to CUCH, ISWIM and OWHY. Unpublished manuscript, Oxford University, 1969.
E. Y. Shapiro. A subset of Concurrent Prolog and its interpreter. Technical Report TR-003, ICOT-Institute of New Generation Computer Technology, January 1983. (Reprinted in [Sha87].).
E. Shapiro. Concurrent Prolog: Collected Papers. MIT Press, 1987. (Two volumes).
E. Shapiro and A. Takeuchi. Object-oriented programming in Concurrent Prolog. New Generation Computing, 4(2):25–49, 1986. (reprinted in [Sha87].).
K. Ueda. Guarded Horn clauses. In E. Wada, editor, Logic Programming, pages 168–179. Springer-Verlag, 1986. (reprinted in [Sha87].).
P. Wadler. The essence of functional programming. In ACM Symp. on Princ. of Program. Lang., 1992.
D. H. D. Warren. Higher-order extensions to Prolog: Are they needed? In D. Michie, editor, Machine Intelligence, 10, pages 441–454. Edinburgh University Press, 1982.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Reddy, U.S. (1994). Higher-order aspects of logic programming. 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_63
Download citation
DOI: https://doi.org/10.1007/3-540-58025-5_63
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