Microsoft Store
 

Prolog


 

Prolog is a logic programming language. The name Prolog is taken from programmation en logique (French for "logic programming"). It was created by Alain Colmerauer and Robert Kowalski around 1972. It was an attempt to make a programming language that enabled the expression of logic instead of carefully specified instructions on the computer. In some ways Prolog is a subset of Planner, e.g., see Kowalski's early history of logic programming. The ideas in Planner were later further developed in the Scientific Community Metaphor.

Related Topics:
Logic programming - French - Alain Colmerauer - Robert Kowalski - 1972 - Programming language - Computer - Planner - Scientific Community Metaphor

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Prolog is used in many artificial intelligence programs and in computational linguistics (especially natural language processing, which it was originally designed for). Its syntax and semantics are considered very simple and clear. (The original goal was to provide a tool for computer-illiterate linguists.) A lot of the research leading up to modern implementations of Prolog came from spin-off effects caused by the fifth generation computer systems project (FGCS) which chose to use a variant of Prolog named Kernel Language for their operating system (but this area of research is now actually almost mortified).

Related Topics:
Artificial intelligence - Computational linguistics - Natural language processing - Fifth generation computer systems project

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Prolog is based on first-order predicate calculus; however it is restricted to allow only Horn clauses. See Logic programming for a discussion of the relationship of Prolog to mathematical logic. Execution of a Prolog program is effectively an application of theorem proving by first-order resolution. Fundamental concepts are unification, tail recursion, and backtracking.

Related Topics:
First-order predicate calculus - Horn clause - Logic programming - Mathematical logic - First-order resolution - Unification - Tail recursion - Backtracking

~ ~ ~ ~ ~ ~ ~ ~ ~ ~