A semantically well-defined programming language widely used in
artificial intelligence, Prolog has greatly influenced other programming
languages since its introduction in the late 1970s. A user may find
Prolog deceptively easy, however, and there are a number of different
implementations. In this book Patrice Boizumault draws from his
extensive experience in Prolog implementation to describe for students
of all levels the concepts, difficulties, and design limits of a Prolog
system.
Boizumault introduces the specific problems posed by the implementation
of Prolog, studies and compares different solutions--notably those of
the schools of Marseilles and Edinburgh--and concludes with three
examples of implementation. Major points of interest include identifying
the important differences in implementing unification and resolution;
presenting three features of Prolog II--infinite trees, dif, and
freeze--that introduce constraints; thoroughly describing Warren's
Abstract Machine (WAM); and detailing a Lisp imple-mentation of Prolog.
Originally published in 1993.
The Princeton Legacy Library uses the latest print-on-demand
technology to again make available previously out-of-print books from
the distinguished backlist of Princeton University Press. These editions
preserve the original texts of these important books while presenting
them in durable paperback and hardcover editions. The goal of the
Princeton Legacy Library is to vastly increase access to the rich
scholarly heritage found in the thousands of books published by
Princeton University Press since its founding in 1905.