3 ms·
I've noticed prolog being mentioned here and a bunch of other places, but haven't really found any good introductory books on the language. Does anyone have an
by Stwerner 8y ago
I've noticed prolog being mentioned here and a bunch of other places, but haven't really found any good introductory books on the language.
Does anyone have any recommendations?
- Tomte 8y agoClocksin/Mellish is kind of the traditional text. A bit boring conventional maybe. Shapiro is probably the best. Bratko is highly regarded.
- stephencanon 8y agoStrong second for Art of Prolog (assuming that's the Shapiro text you're recommending?)
- mindcrime 8y agoLearn Prolog Now! is a decent starting place. http://www.learnprolognow.org/lpnpage.php?pageid=online http://www.learnprolognow.org/lpnpage.php?pageid=online
- daviddaviddavid 8y agoClocksin & Mellish has the benefit of being a slim volume, which makes it approachable. Sterling & Shapiro (Art of Prolog) has much more depth. Not sure I'd recommend to a beginner. (It has a beautiful cover, though and is almost worth getting just for that.) My favorite Prolog book is Pereira & Sheiber's "Prolog and Natural-Language Analysis". It's slanted toward NLP but the coverage of Prolog itself is top notch. https://www.amazon.com/Natural-Language-Analysis-Information-Publication-1987-07-30/dp/B01FJ1DIH6 https://www.amazon.com/Natural-Language-Analysis-Information...
- tomcam 8y agoUh, the cover did not move me. Especially at $150
- fusiongyro 8y agoBuy it used, it's been the same edition for twenty or thirty years.
- Jtsummers 8y agohttps://mitpress.mit.edu/books/art-prolog-second-edition https://mitpress.mit.edu/books/art-prolog-second-edition That's the book they meant (referred to as having a "beautiful cover").
- nyankosensei 8y ago...and it’s Open Access, i.e. free download.
- mycl 8y agoHoly Cow, I had no idea. I have a physical copy, but now I can suggest this to everyone.
- pjmlp 8y agoThat was the best Prolog book I have read.
- abecedarius 8y agohttp://www.mtome.com/Publications/PNLA/prolog-digital.pdf http://www.mtome.com/Publications/PNLA/prolog-digital.pdf I just googled that and don't know if it's a legitimate source, but I've previously downloaded a copy from the site of one of the authors, so it's probably all right.
- fusiongyro 8y agoI thought I was probably the only person who read PNLA book, but it's absolutely fantastic!
- martinlaz 8y ago"The Power of Prolog" by Markus Triska is quite good. https://www.metalevel.at/prolog https://www.metalevel.at/prolog
- hyperpape 8y agoI found this book not very useful as a beginner. I plan to revisit it when I get further in.
- jlarocco 8y agoPeople have already recommended it, but "Programming in Prolog" by Clocksin and Mellish was the text book for the Prolog course that SWI-Prolog offered back in June. I'd recommend the class if it were offered again.
- 3rdAccount 8y agoPicat language was also mentioned recently and it has logic programming facilities.
- abecedarius 8y agoClause & Effect is shorter than the others mentioned so far, and very good.
- YeGoblynQueenne 8y agoAI Algorithms, Data Structures, and Idioms in Prolog, Lisp, and Java, by George Luger, free from the author's personal page on Florida State uni, here: https://www.cs.fsu.edu/~cap5605/Luger_0136070477_1.pdf https://www.cs.fsu.edu/~cap5605/Luger_0136070477_1.pdf This is an excellent resource also for LISP (and Java!) and AI algorithms, particularly various search strategies. I'd also recommend the standard Prolog textbtook, Prolog Programming for AI, by Ivan Bratko. You can most likely find an edition in most university libraries. I've learned a lot from Adventure in Prolog, a Prolog tutorial on the Amzi! Prolog website (though I used a different Prolog to do the exercises, which is a very good sign of nice, basic and portable examples): http://www.amzi.com/AdventureInProlog/advtop.php http://www.amzi.com/AdventureInProlog/advtop.php Those are practical resources. On a more theoretical side, another commenter recommended Perreira & Shreiber, which I can't recommend enough. Also, for a more formal text on logic programming, with proofs and all, the classic reference is J. W. Lloyd, Foundations of Logic Programming. Again, you can probably find a copy in your friendly neighbourhood university library (or, er, google it for a very bad copy of dubious legitimacy, like).
- segmondy 8y agoThe exposure most people have to prolog in school is about a chapter in the "programming languages" course. Yes, pick any book and work through it from page 1 to the end. Preferable 3! Read and pour through the manuals for whatever interpreter & compiler you use. Be warned, Prolog will ruin you, you shall be able to slay dragons and at the same time you most likely will not enjoy programming in "modern languages" anymore. (Intro/Novice) Learn Prolog Now (free on the web) Adventure in Prolog(free on the web) Logic Programming with Prolog (Intermediate) The Practice of Prolog Prolog Programming for Artificial Intelligence Prolog Programming In Depth Prolog Experiments in Discrete Mathematics, Logic, and Computability (Advanced) The Art of Prolog The Craft of Prolog Clause and Effect Simply Logical Prolog and Natural Language Analysis Meta Programming Logic Intelligent Image Processing in Prolog Expert Systems in Prolog Functional Grammar in Prolog (Papers) Warren Abstract Machine Negation and Control in Prolog
- i_don_t_know 8y agoFor a really nice explanation of the Warren Abstract Machine, see "Warren's Abstract Machine: A Tutorial Reconstruction" by Hassan Aït-Kaci: http://wambook.sourceforge.net http://wambook.sourceforge.net
- mycl 8y agoPeter Flach's "Simply Logical: Intelligent Reasoning by Example" also deserves to be mentioned as a wonderful introduction to Prolog and computational logic in general. It's available as a PDF from the author (http://people.cs.bris.ac.uk/~flach/SimplyLogical.html http://people.cs.bris.ac.uk/~flach/SimplyLogical.html) and also in an interactive version where the examples can be run in-browser, using SWISH: https://book.simply-logical.space/ https://book.simply-logical.space/