Prolog
Prolog is a logic programming language that has its origins in artificial intelligence and computational linguistics.
Paradigm | Logic |
---|---|
Designed by | Alain Colmerauer, Robert Kowalski |
First appeared | 1972 |
Stable release | Part 1: General core-Edition 1 (June 1995 ) Part 2: Modules-Edition 1 (June 2000 ) |
Typing discipline | Untyped (its single data type is "term") |
Filename extensions | .pl , .pro , .P |
Website | Part 1: www Part 2: www |
Major implementations | |
Amzi! Prolog, B-Prolog, Ciao, ECLiPSe, GNU Prolog, LPA Prolog, Poplog, P#, Quintus Prolog, Scryer Prolog, SICStus, Strawberry, SWI-Prolog, Tau Prolog, tuProlog, WIN-PROLOG XSB, YAP. | |
Dialects | |
ISO Prolog, Edinburgh Prolog | |
Influenced by | |
Planner | |
Influenced | |
CHR, Clojure, Datalog, Erlang, Epilog, KL0, KL1, Logtalk, Mercury, Oz, Strand, Visual Prolog | |
|
Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is intended primarily as a declarative programming language: the program is a set of facts and rules, which define relations. A computation is initiated by running a query over the program.
The language was developed and implemented in Marseille, France, in 1972 by Alain Colmerauer with Philippe Roussel, based on Robert Kowalski's procedural interpretation of Horn clauses at the University of Edinburgh.
Prolog was one of the first logic programming languages and remains the most popular such language today, with several free and commercial implementations available. The language has been used for theorem proving, expert systems, term rewriting, type systems, and automated planning, as well as its original intended field of use, natural language processing.
Prolog is a Turing-complete, general-purpose programming language, which is well-suited for intelligent knowledge-processing applications.