Feel for Prolog communities

Anyone have a feel for which implementations have the largest community and most recent activity?

1 Like

That is not so easy to say, but in most dimensions SWI-Prolog will come first. You get some insights from the forum/list, github/gitlab statistics (note that SWI-Prolog has a lot of git submodules!) and searching the web in general. Analysis of the website may also give some insights, but these are unavailable (we do not have any analysis on the page, just the CDN stats (~250k HTTP requests per day)). There is also Black Duck Open Hub which lists SWI-Prolog and a couple of others systems (SWI-Prolog at The SWI-Prolog Open Source Project on Open Hub)

All these methods are pretty flawed though. Many, especially commercial, users act “under the radar”.

2 Likes

Welcome to the forum!

First I agree with what Jan W. noted (ref)

Before asking the question you noted, one should first consider why they are picking a specific Prolog implementation.

If it is to run existing software and you know the implementation then that is most likely the implementation you will have to use to get the code working.

If it is to learn on your own from the very start then you need one that at least has an active community to help you when you are stuck. This forum is a reason why many use SWI-Prolog when starting.

If you are taking a class and the instructor has stated which implementation to use, end of decision.

If you are creating production code then the choices drop down rather fast as you need something that has the needed extensions and libraries to accomplish what is needed, has fast support, a proven track record and backward compatibility.

If you need specifics such as constraints or different logics then you will most likely have to do some research and testing to make sure the code works as expected before committing the time and effort into using for a larger scale project.

Obviously there are more options for this list but it gives you an idea that not all Prolog implantations are created equal. :slightly_smiling_face:

1 Like

@dogweather

I moved your question and replies to a new topic as it is better as a separate topic.

Feel free to change the title; it was created just to allow the topic to be created. :slightly_smiling_face:

2 Likes

Thanks, @EricGT!

I completely agree—there’s a lot of context to deciding an implementation.

This is an experimental project: modelling and applying international law. The end result should be an educational web app or even a game that teaches the most important laws. For now, I’m just looking for a good developer experience.

Eventually, I’ll deploy it with Erlang+Elixir using a Prolog library.

1 Like