Computing Dictionary
Prolog definition
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
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)