# Book recommendations?

**URL:** <https://swi-prolog.discourse.group/t/book-recommendations/5401>\
**Category:** Resources\
**Created:** [May 18, 2022, 4:07pm UTC](https://swi-prolog.discourse.group/t/book-recommendations/5401 "2022-05-18T16:07:21Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![brunokim](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/brunokim/32/3915_2.png) [@brunokim](https://swi-prolog.discourse.group/u/brunokim)\
**Post date:** [May 18, 2022, 4:07pm UTC](https://swi-prolog.discourse.group/t/book-recommendations/5401/1 "2022-05-18T16:07:21Z")

</div>

I want to treat myself with some dead-tree book from Amazon, what are your recommendations? My main interests are compilers and good old-fashioned AI, but anything Prolog-related that you have enjoyed is welcome!

---

<div class="post-metadata">

**Author:** ![JCR](https://avatars.discourse-cdn.com/v4/letter/j/258eb7/32.png) [@JCR](https://swi-prolog.discourse.group/u/JCR)\
**Post date:** [May 18, 2022, 6:24pm UTC](https://swi-prolog.discourse.group/t/book-recommendations/5401/2 "2022-05-18T18:24:59Z")

</div>

This is a good one  
[https://www.pearson.com/uk/educators/higher-education-educators/program/Bratko-Prolog-Programming-for-Artificial-Intelligence-4th-Edition/PGM843481.html](https://www.pearson.com/uk/educators/higher-education-educators/program/Bratko-Prolog-Programming-for-Artificial-Intelligence-4th-Edition/PGM843481.html)

---

<div class="post-metadata">

**Author:** ![peter.ludemann](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/peter.ludemann/32/48_2.png) [@peter.ludemann](https://swi-prolog.discourse.group/u/peter.ludemann)\
**Post date:** [May 18, 2022, 11:12pm UTC](https://swi-prolog.discourse.group/t/book-recommendations/5401/3 "2022-05-18T23:12:34Z")

</div>

O’Keefe, _The Craft of Prolog_ has chapters on grammar rules, tokenisers, and interpreters.

> **[The Craft of Prolog](https://mitpress.mit.edu/books/craft-prolog)**
>
> 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. Hacking your program is no substitute for understanding your problem. Prolog...

Plus general good advice on Prolog programming by one of the best.

---

<div class="post-metadata">

**Author:** ![CapelliC](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/capellic/32/17_2.png) [@CapelliC](https://swi-prolog.discourse.group/u/CapelliC)\
**Post date:** [May 19, 2022, 3:51am UTC](https://swi-prolog.discourse.group/t/book-recommendations/5401/4 "2022-05-19T03:51:15Z")

</div>

[Prolog and Natural-Language Analysis](http://www.mtome.com/Publications/PNLA/prolog-digital.pdf) is my preferred, and it focuses almost exactly on the arguments you listed.  
After a mild introduction to Prolog programming, you find a brief but intense session on the logical (mathematical) foundation of the language, then some DCG applications for NLP, and then a very clear explanation of [Richard Montague grammar](https://en.wikipedia.org/wiki/Montague_grammar). The final chapter highlights performance related topics, like partial execution, bottom-up parsing, etc.  
To be true, I don’t know if the book is available on Amazon, I read it many years ago in the italian translation…

---

<div class="post-metadata">

**Author:** ![jeshan](https://avatars.discourse-cdn.com/v4/letter/j/4da419/32.png) [@jeshan](https://swi-prolog.discourse.group/u/jeshan)\
**Post date:** [May 21, 2022, 5:41am UTC](https://swi-prolog.discourse.group/t/book-recommendations/5401/5 "2022-05-21T05:41:54Z")

</div>

I’m liking several that I bought below, especially Art of Prolog and Craft of Prolog. Here are some more to consider:

 ![image](https://global.discourse-cdn.com/free1/uploads/swiprolog/original/2X/c/c8495fa216d349f3030c50dc1ae506c424ebcbec.png)  
 ![image](https://global.discourse-cdn.com/free1/uploads/swiprolog/original/2X/2/24e22b8c72aab5e1e9c7730a85e71c7e1bbcc4a7.png)

- CHR is good although not Prolog per se. I’m sure it will become relevant when I become a Prolog _expert_.
- Art of Prolog is available as ebook for free from MIT Press.
- The 3rd one in my screenshot is a bunch of research papers that I still need to digest. I’m sure they have some hidden gems.

---

<div class="post-metadata">

**Author:** ![peter.ludemann](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/peter.ludemann/32/48_2.png) [@peter.ludemann](https://swi-prolog.discourse.group/u/peter.ludemann)\
**Post date:** [May 21, 2022, 6:13pm UTC](https://swi-prolog.discourse.group/t/book-recommendations/5401/6 "2022-05-21T18:13:19Z")

</div>

One more: [Logic Grammars by Harvey Abramson, Veronica Dahl](https://www.google.com/books/edition/Logic_Grammars/aCjUBwAAQBAJ)

Half the book is about variants of DCGs for parsing and interpreting (including top-down and bottom-up), the other half is more advanced stuff for linguistics (discontinuous grammars, context-sensitive grammars, free word order, etc.). It’s a bit old (1989); I don’t how much research has been done since then (for example, there’s this, which goes much more into syntax/semantics of natural languages: [Text Understanding in LILOG | SpringerLink](https://link.springer.com/book/10.1007/3-540-54594-8))
