# Higher-order aspects of logic programming

Conference paper

First Online:

## 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.

## Keywords

Higher-order features functional programming lambda calculus logic variables concurrent logic programming types semantics Download
to read the full conference paper text

## References

- [Abr91]S. Abramsky. Computational interpretation of linear logic. Tutorial Notes, International Logic Programming Symposium, San Diego, 1991, 1991.Google Scholar
- [Abr93]S. Abramsky. Computational interpretations of linear logic.
*Theoretical Comp. Science*, 111(1–2):3–57, 1993.Google Scholar - [Bar91]M. Barr..
^{*}-Autonomous categories and linear logic.*Math. Structures in Comp. Science*, 1:159–178, 1991.Google Scholar - [BW88]R. Bird and P. Wadler.
*Introduction to Functional Programming*. Prentice-Hall International, London, 1988.Google Scholar - [CKW89]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.Google Scholar - [CT77]K. L. Clark and S. A. Tarnlund. A first-order theory of data and programs. In
*Information Processing*, pages 939–944. North-Holland, 1977.Google Scholar - [DOPR91]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.Google Scholar - [Gir87]J.-Y. Girard, Linear logic.
*Theoretical Comp. Science*, 50:1–102, 1987.Google Scholar - [Gre87]S. Gregory.
*Parallel Logic Programming in PARLOG: The Language and its Implementation*. Addison-Wesley, Reading, Mass., 1987.Google Scholar - [Gun92]C. A. Gunter.
*Semantics of Programming Languages: Structures and Techniques*. MIT Press, 1992.Google Scholar - [Hug86]R. J. M. Hughes. A novel representation of lists and its application to the function “reverse”.
*Information Processing Letters*, 22:141–144, Mar 1986.Google Scholar - [Laf87]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.Google Scholar - [Lak91]T. K. Lakshman. Typed prolog: Type checking/type reconstruction system (version 1.0). Software available by anonymous FTP from cs.uiuc.edu, 1991.Google Scholar
- [LM84]J.-L. Lassez and M. J. Maher. Closures and fairness in the semantics of programming logic.
*Theoretical Computer Science*, pages 167–184, May 1984.Google Scholar - [LR91]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.Google Scholar - [Mil90]R. Milner. Functions as processes. In
*Proceedings of ICALP 90*, volume 443 of*Lect. Notes in Comp. Science*, pages 167–180. Springer-Verlag, 1990.Google Scholar - [MN86]D. A. Miller and G. Nadathur. Higher-order logic programming. In
*Intern. Conf. on Logic Programming*, 1986.Google Scholar - [Nai86]Lee Naish.
*Negation and control in Prolog*, volume 238 of*Lect. Notes in Comp. Science*. Springer-Verlag, New York, 1986.Google Scholar - [Pau91]L. C. Paulson.
*ML for the Working Programmer*. Cambridge Univ. Press, Cambridge, 1991.Google Scholar - [PE88]F. Pfenning and C. Elliott. Higher-order abstract syntax. In
*ACM SIGPLAN '88 Conf. Program. Lang. Design and Impl.*, pages 22–24. ACM, 1988.Google Scholar - [Plo77]G. D. Plotkin. LCF considered as a programming language.
*Theoretical Comp. Science*, 5:223–255, 1977.Google Scholar - [Red93a]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.Google Scholar - [Red93b]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.Google Scholar - [Sar92]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.Google Scholar - [Sco69]D. S. Scott. A type theoretical alternative to CUCH, ISWIM and OWHY. Unpublished manuscript, Oxford University, 1969.Google Scholar
- [Sha83]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].).Google Scholar
- [Sha87]E. Shapiro.
*Concurrent Prolog: Collected Papers*. MIT Press, 1987. (Two volumes).Google Scholar - [ST86]E. Shapiro and A. Takeuchi. Object-oriented programming in Concurrent Prolog.
*New Generation Computing*, 4(2):25–49, 1986. (reprinted in [Sha87].).Google Scholar - [Ued86]K. Ueda. Guarded Horn clauses. In E. Wada, editor,
*Logic Programming*, pages 168–179. Springer-Verlag, 1986. (reprinted in [Sha87].).Google Scholar - [Wad92]P. Wadler. The essence of functional programming. In
*ACM Symp. on Princ. of Program. Lang.*, 1992.Google Scholar - [War82]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.Google Scholar

## Copyright information

© Springer-Verlag Berlin Heidelberg 1994