Programming in Logic or (French) Programmation en Logique. The first of the huge family of logic programming
Prolog was invented by Alain Colmerauer and Phillipe Roussel at the University of Aix-Marseille in 1971. It was first implemented 1972 in ALGOL-W. It was designed originally for natural-language processing but has become one of the most widely used languages for artificial intelligence
It is based on LUSH
theorem proving and unification
. The first versions had no user-defined functions and no control structure other than the built-in depth-first search
. Early collaboration between Marseille and Robert Kowalski at University of Edinburgh
continued until about 1975.
Early implementations included C-Prolog
, Open Prolog
, UPMAIL Tricia Prolog
. In 1998, the most common Prologs in use are Quintus Prolog
, SICSTUS Prolog
, LPA Prolog, SWI Prolog, AMZI Prolog, SNI Prolog. ISO
draft standard at Darmstadt, Germany (ftp://ftp.th-darmstadt.de/pub/programming/languages/prolog/standard/). or UGA, USA (ftp://ai.uga.edu/ai.prolog.standard).
See also negation by failure
, Kamin's interpreters
, Paradigms of AI Programming
A Prolog interpreter
A Prolog package (ftp://cpsc.ucalgary.ca/pub/prolog1.1/prolog11.tar.Z) from the University of Calgary features delayed goals and interval arithmetic. It requires Scheme
["Programming in Prolog", W.F. Clocksin & C.S. Mellish, Springer, 1985].