• RRP: £28.95
  • You Save: £4.20 (15%)
FREE Delivery in the UK.
Only 2 left in stock.
Dispatched from and sold by Amazon.
Gift-wrap available.
Trade in your item
Get a £5.48
Gift Card.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

The Craft of Prolog (Logic Programming) Paperback – 2 Jul 2008

See all 2 formats and editions Hide other formats and editions
Amazon Price New from Used from
"Please retry"
£21.94 £21.70

Frequently Bought Together

The Craft of Prolog (Logic Programming) + The Art of PROLOG: Advanced Programming Techniques (Logic Programming)
Price For Both: £69.06

Buy the selected items together

Trade In this Item for up to £5.48
Trade in The Craft of Prolog (Logic Programming) for an Amazon Gift Card of up to £5.48, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Product details

More About the Author

Discover books, learn about writers, and more.

Product Description

About the Author

Richard A. O'Keefe is Lecturer in the Department of Computer Science at the Royal Melbourne Institute of Technology. He is also a consultant to Quintus Computer Systems, Inc.

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

There are no customer reviews yet on Amazon.co.uk.
5 star
4 star
3 star
2 star
1 star

Most Helpful Customer Reviews on Amazon.com (beta)

Amazon.com: 9 reviews
19 of 19 people found the following review helpful
"Where to go next" in your quest for prolog mastery 31 Oct 2004
By Randall Helzerman - Published on Amazon.com
Format: Hardcover
The spirit of this book is exemplified by this quote: "If your Prolog code is ugly, the chances are that you either don't understand your problem or you don't understand your programming language, and in neither case does your code stand much chance of being efficient."

This book is O'Keefe's attempt to wipe out both root and branch of bad prolog code. A close reading of this book will not only give you a deep understanding of prolog and logic programming, but it will put you into mental contact with O'Keefe's profound insights into the kind of thinking necessary for being a topflight progammer.

I should mention that this book is not just for prolog programmers. It contains mindbending observations on programming available absolutly nowhere else. Unfortunately, like the scholar of the middle ages who had to master Latin and greek, you'll have to learn prolog before this book will yield up its treasures.

As O'Keefe unambiguously states in the opening paragraphs, this book should NOT be your first, or even your second, book on Prolog. There's no royal road to knowledge; you'll have to pay your dues. But after you've achieved a good foundation, this is the way forwared to enlightenment.
12 of 12 people found the following review helpful
a definitive resource 21 Jun 2009
By S. Matthews - Published on Amazon.com
Format: Paperback
A common opinion nowadays, I suspect, is that Prolog is a neat hack that ran wildly out of control. And it is an opinion that is easy defend, and one with which I even have a lot of sympathy: not only does Prolog have substantial and not-really fixable problems as a 'serious' programming language, but it was also, in the aftermath of the 5th-generation hype, the inspiration for a lot of embarrassingly bad theoretical and quasi-theoretical research on 'logic' programming in the late 1980's and early 1990s. On the other hand, Prolog is also distinguished by some of the best books on progamming I have ever read: not just O'Keefe's 'The Craft of Prolog', but also, e.g., Sterling and Shapiro's 'Art of Prolog' crowd into the (depressingly small) queue formed behind the likes of 'Structure and Interpretation', 'the Science of Programming' and 'Programming Tools'. The existence of such books means that Prolog must have gotten _something_ substantial right.

Further, while in theory I divide the the set of all programming languages into clean Lisp dialects (i.e. scheme, ml, haskell) on the one hand, and other programming languages that are inadequate to the extent that they diverge from the Scheme/ML model on the other, I find that a lot of the time it is actually Prolog that provides the best tool for modelling the transaction-handling systems that I have to deal with in the course of earning my bread.

Whether you use Prolog or not, if you are serious about programming then you want to have a copy of this, simply because it shows how a world class programmer negotiates an unusual, but interesting, programming paradigm. And, as O'Keefe himself is, or at least used to be, fond of pointing out, your skill as a programmer is substantially correlated with the number of different such paradigms that you understand properly, and not very much with anything else.

Highly recommended if you are really interested in advanced programming.
17 of 18 people found the following review helpful
Indispensable Classic 2 Dec 1999
By T. Howland - Published on Amazon.com
Format: Hardcover
This book, although not an introductory text, is widely considered the indespensable classic in writing good Prolog code. Try searching for it in the newsgroup comp.lang.prolog some time on DejaNews.
Prolog does a wonderful job of hiding what is really going on. This book reveals the wonderous truth.
5 of 5 people found the following review helpful
Definitely a good book 12 Dec 2006
By Postepay - Published on Amazon.com
Format: Hardcover
I read this book in the library of my University. This book is *not* for beginners. Definitely. But in my opinion this is a *good* thing. This is a 5 star book: those who are not able to understand it, should study a bit more rather than lamenting about the book being too difficult.
2 of 3 people found the following review helpful
Would recommend despite issues 12 July 2014
By Kyle Dewey - Published on Amazon.com
Format: Paperback Verified Purchase
This is the best source on advanced Prolog I've seen in print. The author discusses a variety of basic software engineering tips for working with Prolog, and some of these are quite helpful. Examples are usually very good and complete. Overall, I would recommend this book to someone else, especially if they had just started to get their feet wet with Prolog.

That said, there are a few issues. For one, a surprising amount of information is not very relevant nowadays, since a lot is specialized towards different engines which were popular at the time it was written. An entire chapter is devoted to how different engines at the time worked and the sort of optimizations they performed, which isn't very useful. A bigger issue is that content-wise, if you've spent awhile with Prolog already, there isn't likely to be a lot to pick up. I found that the book tended to endorse patterns I was already using, which I'd figured out through reading online or basic trial and error. It was good to know that I wasn't going off in some weird direction, but there wasn't a lot of new content to me.

The author tends to be inconsistent with himself. Early on, he describes a bunch of rules for how code should be structured, and explains basically that this is how everyone should be doing it. He then proceeds to violate his own rules on a multitude of occasions, and only occasionally mentions why there's a violation.

By far, the biggest issue I had with this book was that I found the author's attitude to be _extremely_ condescending, to the point where I literally burst out laughing at multiple points at the sheer ridiculousness of it. Two examples:
1.) At one point, he states that something shouldn't be done a certain way, because it would be very tricky to get right. He then puts in parenthesis that he's done it before. This only serves to inflate his own ego; it doesn't add a thing to the writing.
2.) He takes an example from some other work at some point. He explains at length that the example is badly written, and proceeds to rewrite it. He never cites the work he takes it from _as a favor to the author of the work_ - he explains the work is overall good, but the example is so bad that it would disincline people to read the work. I have no idea what he's referencing, and I would actually like to read it because the example isn't actually bad.
Were these reviews helpful? Let us know