Prolog programming books: Difference between revisions
No edit summary |
|||
(7 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:// | Clocksin & Mellish's [http://amzn.to/2GNAW9U 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:// | I regard Peter Flach's [http://amzn.to/2nACWuu 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 [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 the [http://people.cs.bris.ac.uk/~flach/SimplyLogical.html Simply Logical page at Bristol University]. | |||
== The Last Word == | == The Last Word == | ||
Robert Kowalski's classic [http:// | Robert Kowalski's classic [http://amzn.to/2EDfWSM Logic for Problem Solving] is essential reading for Prolog programmers. [http://amzn.to/2nGDf65 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 [http://www.doc.ic.ac.uk/~rak/ Robert Kowalski's homepage]. | ||
Line 23: | Line 23: | ||
Performance and memory utilisation become important when Prolog is used to solve complex problems. | Performance and memory utilisation become important when Prolog is used to solve complex problems. | ||
David Harel's [http:// | David Harel's [http://amzn.to/2E2ooy5 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:// | Richard O'Keefe's [http://amzn.to/2GI0dlX 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. |
Revision as of 19:53, 12 May 2018
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 the Simply Logical page at Bristol University.
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 utilisation 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.