Take the 2-minute tour ×

I'm looking for some advice how to get started with Logic programming, and I am really enjoying working through the Scheme book "Structure and Interpretation of Computer Programs." Is there a similar book that is geared toward Prolog? Or, if there is a better language to study than Prolog for Logic programming I am interested in hearing your opinions on that as well.

share|improve this question

closed as off-topic by gnat, MichaelT, GlenH7, Kilian Foth, Dan Pichelman Sep 24 '13 at 14:15



Note that SICP has a section in which a declarative language interpreter is described and implemented. Their description of unification is the best I've seen. Although the syntax is very different, the declarative language described is very close to Prolog semantically. –  Macneil Apr 24 '11 at 12:34

3 Answers 3

"The Art Of Prolog" by Leon Sterling & Ehud Shapiro is one of the best books about computer programming I've ever read.

share|improve this answer
Damn straight, Skippy. The best books on programming I've ever read read differently every time as I grow as a developer. This is one such book. –  JUST MY correct OPINION Apr 24 '11 at 12:57

Prolog and The Art of Prolog are hard to beat in this regard.

A possible alternative - being a bit closer in theme and technique to Scheme/SiCP than to Prolog/Art of Prolog - is Mozart/Oz with the the book Concepts, Techniques, and Models of Computer Programming.

Apart from Oz other alternative languages to Prolog are Curry which sits right between Haskell and Prolog and AliceML which is basically a ML variant of Oz (and could be used as such with above mentioned CTM). Curry has AFAIK no equivalent introductory text.

share|improve this answer

A Prolog book I like a lot is the one by Richard O'Keefe, The Craft of Prolog. It is out of print, so try for a library copy. If you find it useful as a reference text, Amazon usually has used copies for sale.

Edit: Actually it seems only the hardback edition is out of print, and Amazon has some new paperback copies for sale.

share|improve this answer
