Sign in to turn on 1-Click ordering.
Trade in Yours
For a £6.78 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Image not available

Tell the Publisher!
I’d like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

The Craft of Prolog (Logic Programming) [Paperback]


RRP: £26.66
Price: £25.79 & FREE Delivery in the UK. Details
You Save: £0.87 (3%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 1 left in stock (more on the way).
Dispatched from and sold by Amazon. Gift-wrap available.
Want it Monday, 27 Oct.? Choose Express delivery at checkout. Details


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

Book Description

2 July 2008 0262512270 978-0262512275
Hacking your program is no substitute for understanding your problem. Prolog is different, but not that different. Elegance is not optional. These are the themes that unify Richard O'Keefe's very personal statement on how Prolog programs should be written. The emphasis in The Craft of Prolog is on using Prolog effectively. It presents a loose collection of topics that build on and elaborate concepts learned in a first course. These may be read in any order following the first chapter, "Basic Topics in Prolog," which provides a basis for the rest of the material in the book.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.Contents: Basic Topics in Prolog. Searching. Where Does the Space Go? Methods of Programming. Data Structure Design. Sequences. Writing Interpreters. Some Notes on Grammar Rules. Prolog Macros. Writing Tokenisers in Prolog. All Solutions.

Special Offers and Product Promotions

  • Between 20-26 October 2014, spend £10 in a single order on item(s) dispatched from and sold by Amazon.co.uk and receive a £2 promotional code to spend in the Amazon Appstore. Here's how (terms and conditions apply)

Frequently Bought Together

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

Buy the selected items together

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:

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

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: 4.3 out of 5 stars  9 reviews
19 of 19 people found the following review helpful
5.0 out of 5 stars "Where to go next" in your quest for prolog mastery 31 Oct 2004
By Randall Helzerman - Published on Amazon.com
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
5.0 out of 5 stars a definitive resource 21 Jun 2009
By S. Matthews - Published on Amazon.com
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
5.0 out of 5 stars Indispensable Classic 2 Dec 1999
By T. Howland - Published on Amazon.com
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
5.0 out of 5 stars Definitely a good book 12 Dec 2006
By Postepay - Published on Amazon.com
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 2 people found the following review helpful
3.0 out of 5 stars 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

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
First post:
Prompts for sign-in

Search Customer Discussions
Search all Amazon discussions

Look for similar items by category