Prolog books found online

This is an incomplete list of books about Prolog that can be found online:

I am counting on readers’ comments to grow it.

Update by ΤΖΩΤΖΙΟΥ:

Greenspun’s Tenth Rule and variations

For those who have not heard Greenspun’s Tenth Rule, it states that:

Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.

By the way, Greenspun‘s rules 1 to 9 do not exist.

Seven months ago, during a discussion about Prolog, I asked Ozan S. Yigit to reformulate Greenspun’s tenth rule for Prolog. Oz replied:

Any sufficiently complicated modern program contains a buggy, informal implementation of prolog that casual observers confuse with lisp.

Just hours earlier I was basically a listener in a discussion that involved NoSQL. While clearly I am not a NoSQL advocate, I am no hater either, but what I heard lead me to the following reformulation of Greenspun’s rule, this time involving the relational model:

Those who blindly adopt #NoSQL will discover a variation of Greenspun’s tenth rule

I am sure that many other variations exist. In fact the Wikipedia page on Greenspun’s Tenth Rule contains a Prolog variation similar to Ozan’s and an Erlang version. So if you know of (or can make up) any other, please post it here (or somewhere).

I have a dream…

A Simple Dream

Everyone working in configuration management would like to find a way to simplify and perhaps obsolete this dreary job. The ‘impossible dream’ is that everyone writing configuration scripts can use the work of the whole community instead of re-inventing the wheel for each site and purpose. But so far, while configuration tools proliferate, it has been difficult to convince people to distribute and maintain reusable scripts for configuring systems and implementing common services. There seem to be “too many options,” “too many system dependencies,” and “too many site-specific assumptions.”

This was written in 1999. Then the XML holy grail crap became popular and managing organized complexity became even more painful.

Warren’s Abstract Machine: A Tutorial Reconstruction

Hassan Aït-Kaci has written the excellent tutorial on the WAM entitled Warren’s Abstract Machine: A Tutorial Reconstruction. This book is out of print (I consider myself one of the lucky ones to have purchased a copy). For years it was available at, but now the domain seems parked.

I had downloaded a copy of the files, and now the electronic version of the book has a new home at:

Update 2013/04/13: Also available on

new toy

Last week, after doing a lot of searching about a commercial Prolog implementation, I decided to go along and purchase WIN-PROLOG from LPA. On Tuesday the CD-ROM was delivered to my mailbox and I had the chance of trying out some stuff to get accustomed to the environment. Pretty impressive documentation, even if you have never written a line of Prolog before! It reminds me of the days that I was reading the DEC manuals.

Using Prolog in Windows NT Network Configuration

(Αυτό είναι στο όρια της ψηφιακής αρχαιολογίας)

Μίλαγα χτες με ένα φίλο που προσπαθούσε να λύσει ένα πρόβλημα με Prolog και έψαξα κανά δίωρο για να βρω μια καλή υλοποίηση που να ταιριάζει στο πρόβλημά του. Στην πορεία θυμήθηκα πως χρόνια πριν, είχα διαβάσει για τη Small Prolog η οποία είχε χρησιμοποιηθεί στον Windows NT kernel. Θυμόμουν πως είχα ξανακάνει αυτή την “άσκηση”, αλλά δε θυμόμουν περισσότερα @(%#*&$%^!

Mε λίγη τύχη, λίγη ώρα και χάρη στο Web Archive: Using Prolog in Windows NT Network Configuration του David Hovel.

Update: Περισσότερα μπορεί να δει κανείς στο “Is Prolog really used in Windows NT?


For more information, see

  1. Dennis Merritt, “Extending C with Prolog“, Dr Dobb’s Journal, August 1994, pages 78-82 and 102, 104.
  2. D. Hovel, “Small Prolog and Windows NT Networking“, Dr Dobb’s Journal, August 1994, page 80.