<
programming> 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 {
prolog/standard/">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.
[
"Programming in Prolog", W.F. Clocksin & C.S. Mellish,
Springer, 1985].
(2001-04-01)