Prolog programming books: Difference between revisions

From This Prolog Life
Jump to navigation Jump to search
m (Changes to worldcat.org URL format.)
 
(14 intermediate revisions by the same user not shown)
Line 6: Line 6:
Prolog is a deep subject, rather than a broad one, so it is best studied in stages.
Prolog is a deep subject, rather than a broad one, so it is best studied in stages.


Clocksin & Mellish's [http://www.amazon.co.uk/exec/obidos/ASIN/3540006788/bindingtimeli-21 Programming in Prolog] is the definitive introductory text on Prolog. Most importantly, it will help you to start programming straight away.
Clocksin & Mellish's [https://www.worldcat.org/formats-editions/1199008151 Programming in Prolog] is the definitive introductory text on Prolog. Most importantly, it will help you to start programming straight away.


== More Advanced Applications ==
== More Advanced Applications ==


I regard Peter Flach's [http://www.amazon.co.uk/exec/obidos/ASIN/0471941522/bindingtimeli-21 Simply Logical: Intelligent Reasoning by Example] as the best advanced text currently available. It deals with both theoretical and practical aspects of logic programming but doesn't assume prior knowledge beyond that you will have gained from "Programming in Prolog".
I regard Peter Flach's [https://www.worldcat.org/formats-editions/246150014 Simply Logical: Intelligent Reasoning by Example] as the best advanced text. It deals with both theoretical and practical aspects of logic programming but doesn't assume prior knowledge beyond that you will have gained from "Programming in Prolog".


You can download the programs in the book, and the book as a <abbr title="Portable Document Format">PDF</abbr> file, from the [http://www.cs.bris.ac.uk/~flach/SimplyLogical.html Simply Logical page at Bristol University].
It has an interactive edition at [https://book.simply-logical.space/ simply-logical.space] or you can download the programs in the book, and the book as a <abbr title="Portable Document Format">PDF</abbr> file, from [https://github.com/simply-logical/ Simply Logical on GitHub].


== The Last Word ==
== The Last Word ==


Robert Kowalski's classic [http://www.amazon.co.uk/exec/obidos/ASIN/0444003681/bindingtimeli-21 Logic for Problem Solving] is essential reading for Prolog programmers. [http://www.amazon.co.uk/exec/obidos/ASIN/3837036294/bindingtimeli-21 Logic for Problem Solving, Revisited] is a recent revised edition.
Robert Kowalski's classic [https://www.worldcat.org/formats-editions/710744783 Logic for Problem Solving] is essential reading
for Prolog programmers. [https://www.worldcat.org/formats-editions/958465391 Logic for Problem Solving, Revisited] is a more recent, revised edition.


The original book has been scanned into PDF format and can be downloaded from [http://www.doc.ic.ac.uk/~rak/ Robert Kowalski's homepage].
The original book has been scanned into PDF format and can be downloaded from [https://www.doc.ic.ac.uk/~rak/ Robert Kowalski's homepage].


== Getting Technical ==
== Getting Technical ==
Performance and memory utilisation become important when Prolog is used to solve complex problems.
Performance and memory utilization become important when Prolog is used to solve complex problems.


David Harel's [http://www.amazon.co.uk/exec/obidos/ASIN/0201504014/bindingtimeli-21 Algorithmics] is a very accessible treatment of program behaviour. It isn't tied to one programming language, and the techniques described are readily applicable to Prolog programs.
David Harel's [https://www.worldcat.org/formats-editions/889969825 Algorithmics] is a very accessible treatment of program behaviour. It isn't tied to one programming language and the techniques described are readily applicable to Prolog programs.


Richard O'Keefe's [http://www.amazon.co.uk/exec/obidos/ASIN/0262150395/bindingtimeli-21 The Craft of Prolog] is a superb exposition of the techniques that can be employed to work ''with'' Prolog, rather than fighting against it, and the rationale behind them.
Richard O'Keefe's [https://www.worldcat.org/formats-editions/1024831685 The Craft of Prolog] is a superb exposition of the techniques that can be employed to work ''with'' Prolog, rather than fighting against it, and the rationale behind them.

Latest revision as of 17:11, 24 August 2022

Out of the many Prolog programming books that I have read, I consider these to be the best.

Starting Out

Prolog is a deep subject, rather than a broad one, so it is best studied in stages.

Clocksin & Mellish's Programming in Prolog is the definitive introductory text on Prolog. Most importantly, it will help you to start programming straight away.

More Advanced Applications

I regard Peter Flach's Simply Logical: Intelligent Reasoning by Example as the best advanced text. It deals with both theoretical and practical aspects of logic programming but doesn't assume prior knowledge beyond that you will have gained from "Programming in Prolog".

It has an interactive edition at simply-logical.space or you can download the programs in the book, and the book as a PDF file, from Simply Logical on GitHub.

The Last Word

Robert Kowalski's classic Logic for Problem Solving is essential reading for Prolog programmers. Logic for Problem Solving, Revisited is a more recent, revised edition.

The original book has been scanned into PDF format and can be downloaded from Robert Kowalski's homepage.

Getting Technical

Performance and memory utilization become important when Prolog is used to solve complex problems.

David Harel's Algorithmics is a very accessible treatment of program behaviour. It isn't tied to one programming language and the techniques described are readily applicable to Prolog programs.

Richard O'Keefe's The Craft of Prolog is a superb exposition of the techniques that can be employed to work with Prolog, rather than fighting against it, and the rationale behind them.