AN OVERVIEW OF PROLOG

λProlog is a logic programming language that extends Prolog by incorporating notions of higher-order functions, λ-terms, higher-order unification, polymorphic types, and mechanisms for building modules and secure abstract data types. These new features are provided in a principled fashion by extending the classical first-order theory of Horn clauses to the intuitionistic higher-order theory of hereditary Harrop formulas. The justification for considering this extension a satisfactory logic programming language is provided through the proof-theoretic notion of a uniform proof. The correspondence between each extension to Prolog and the new features in the stronger logical theory is discussed. Also discussed are various aspects of an experimental implementation of λProlog. Appears in the Fifth International Conference Symposium on Logic Programming, 15 – 19 August 1988, Seattle, Washington. This is a slightly corrected version of the paper in the Proceedings. Address correspondence to gopalan@cs.duke.edu or dale@linc.cis.upenn.edu or to the addresses above.

[1]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[2]  Peter B. Andrews,et al.  AUTOMATING HIGHER-ORDER LOGIC , 1984 .

[3]  J. W. LLOYD,et al.  Making Prolog more Expressive , 1984, J. Log. Program..

[4]  Lawrence C. Paulson,et al.  Natural Deduction as Higher-Order Resolution , 1986, J. Log. Program..

[5]  Dale Miller,et al.  A Theory of Modules for Logic Programming , 1986, SLP.

[6]  Gopalan Nadathur,et al.  Some Uses of Higher-Order Logic in Computational Linguistics , 1986, ACL.

[7]  Leon Sterling,et al.  The Art of Prolog - Advanced Programming Techniques , 1986 .

[8]  G. Nadathur A higher-order logic as the basis for logic programming , 1987 .

[9]  Gopalan Nadathur,et al.  Hereditary Harrop Formulas and Uniform Proof Systems , 1987, Logic in Computer Science.

[10]  Joxan Jaffar,et al.  Constraint logic programming , 1987, POPL '87.

[11]  John Hannan,et al.  Enriching a Meta-Language With Higher-Order Features , 1988 .

[12]  Amy P. Felty,et al.  Specifying Theorem Provers in a Higher-Order Logic Programming Language , 1988, CADE.

[13]  L. Thorne McCarty,et al.  Clausal Intuitionistic Logic I - Fixed-Point Semantics , 1988, J. Log. Program..

[14]  Frank Pfenning,et al.  Partial polymorphic type inference and higher-order unification , 1988, LISP and Functional Programming.

[15]  Dale Miller,et al.  Uses of Higher-Order Unification for Implementing Program Transformers , 1988, ICLP/SLP.

[16]  L. Thorne McCarty,et al.  Clausal Intuitionistic Logic II - Tableau Proof Procedures , 1988, J. Log. Program..

[17]  Lars Hallnäs,et al.  A proof-theoretic approach to logic programming, I. Generalized horn clauses , 1988 .

[18]  Frank Pfenning,et al.  Higher-order abstract syntax , 1988, PLDI '88.

[19]  Dale Miller,et al.  A Logical Analysis of Modules in Logic Programming , 1989, J. Log. Program..