Prolog
Programming in Logic or (French) Programmation en Logique. The first of the huge family of {logic
programming} languages.
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} (or {SLD}) {resolution} {theorem
proving} and {unification}. The first versions had no
user-defined functions and no control structure other than the
built-in {depth-first search} with {backtracking}. Early
collaboration between Marseille and Robert Kowalski at
{University of Edinburgh} continued until about 1975.
Early implementations included {C-Prolog}, {ESLPDPRO},
{Frolic}, {LM-Prolog}, {Open Prolog}, {SB-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}, {Aditi}.
A Prolog {interpreter} in {Scheme}.
{(ftp://cpsc.ucalgary.ca/pub/prolog1.1)}.
{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} with
{continuations}.
A Prolog by Michael Covington runs
on {MS-DOS} and {Macintosh}.
{(ftp://ftp.ai.uga.edu/ai.prolog/Contents)}.
["Programming in Prolog", W.F. Clocksin & C.S. Mellish,
Springer, 1985].
(1999-04-22)