Also recommended: <a href="http://www.learnprolognow.org/" rel="nofollow">http://www.learnprolognow.org/</a><p>Sterling and Shapiro's _The Art of Prolog_ is wonderful, on par with (say) SICP. It focuses as much on the logic programming model as Prolog proper.
I knew that Erlang was originally written in Prolog, but I somehow managed to never look at any Prolog code before. It explains so much about the structure and approach that Erlang took.<p>I am curious to explore how the Erlang interpreter was written, in light not of the similarities, but the subtle differences between the two languages. The use of -> was particularly interesting in comparison to how it is used in Erlang.
I did some Prolog for the logical programming course on university a long time ago. Back then, the hype was that Prolog was the next thing for artificial intelligence and reasoning.<p>It seems it didn't really meet that promise -- 'analog' approaches such as SVMs, Bayesian networks have turned out to be much better than logical reasoning for most real world AI approaches.<p>Why use Prolog (except for curiosity)? Is it easier to make some kinds of programs in it? (which are useful in the real world, not backtracking AI for simple games)
What annoyed me most about Prolog: if you type something on the command line, the syntax is quite different (assert, etc.) than if you put it in a file and then load it.