Is SWI-Prolog being used in domains that requires multi-threading at scale?

Hi Jan,

Is swi-prolog being used in domains that requires multi-threading at scale?

I think it would be very worthwhile to present case studies, and design patterns for Prolog in enterprise settings, where such features are a must.

Analogous to like those J2EE enterprise patterns – whatever is currently the approach of choice (serverless? microservices?), etc.

It seems to me that in particular in the enterprise environment prolog should shine … and could perhaps further motivate adoption.

I am saying this due to a discussion I had with a solution vendor were prolog was quickly dismissed out of hand for supporting enterprise systems – and (enterprise) Java was seens as the choice at hand. And, i think, its not because of capability but due to perception.


Yes. Both commercially and academic (and hobby, I assume). In fact, it is mostly due to commercial involvement that threading is robust and scales well.

People have a rather weird perception about Prolog :frowning: There are many theories why that is. Few of the language properties justify those perceptions. There is a problem with the eco-system, notably being small and one probably can claim it is also old fashioned. This implies that if you want to use it commercially in a responsible way you must make sure to understand the consequences and mitigate problems as far as necessary.



I split these replies off into a separate topic as they are divergent from Curious: How does Prolog “Byte code” compare to .NET IL (and some thoughts about enterprise ready systems)