Newbie‘s most wanted


this is my first post asking for help. I started to learn prolog two weeks ago. On of the things I did was discovering this discourse community. While reading through the posts there were people telling about things you should read as a beginner to get to know prolog. Sadly I did not make notes immediately and now I have trouble finding those spots again.

So I want to ask if there is a collection of papers and tutorials that bring a seasoned programmer up to speed. Any hints are appreciated.

While I‘m on it I like to introduce myself to the community. If I would to have to put a label on me about programming it would be smalltalk. I‘m a long time into OOP and think I finally got it somehow. I‘m a maintainer of the programming language. So I know about problems when you use an old language that has several dialects already.

I also want to improve my skills and I had the gut feeling prolog is the thing that would do a good deal. I cannot say much yet because to be honest I don‘t understand most things you are talking about. But this gut feeling also tells me that I (yet again) was able to find a little gem in the universe of internet and programming.

I‘m curious how far I get with prolog. My ultimate goal would be to embed swi prolog into the pharo programming environment. After all those years I understood that source code and text are different things. So I‘m a bit reluctant to use a text editor in order to create software. But it is also a very high goal which I might not be able meet. So first things first I should try learning the basic stuff.

All information and pointer is welcome


There are lots of things out there that will help you learn, however in all my years of learning and using Prolog I have never found one thing that nicely covers all I have learned and made sense from start to finish.

The list on this site is Useful Prolog references, feel free to add to it.

Do not try and take what you know about other programming languages and think that Prolog works the same way. You are better off learning Prolog as if you have never programmed before. Many here will attest to the fact that knowing a previous programming language has made it harder for them to learn Prolog. Also learn and understand these words. Bound, syntactic unification, deterministic, non-deterministic.

1 Like

@norbert.hartl, I would recommend you read this online book:

It starts from the very beginning.