On 09/16/2015 05:48 PM, Thomas McNeill wrote:
> Thanks Jan!
>
> You know, this might be one of those methodologies that ought to be
> written up and pinned somewhere in the community. Kind of a how to
> connect SWI-Prolog to a variety of other languages, Python, Ruby, Java,
> Scala, etc. I'm sure there are a lot development teams out there that
> would find some of SWI-Prolog's elements very useful for parts of their
> projects.
Sure. The Java interface is bundled. That still gives a lot of
problems. It basically boils down to `dll hell', which a somewhat
less serious version hell. Every platform and every distribution
has its own tricks to find the relevant resources, which makes it
really hard to distribute these interfaces in a robust manner.
The next issue is that all these languages (including Prolog) tend
to take control of the entire environment and put restrictions on
threading, signal handling, garbage collection, etc. If something
goes wrong, it is often really hard to debug.
In other words, it takes a lot of dedication to combine these systems
in a single process. If it works it can be nice and fast.
The Pengine approach is promising for many applications. Would be
nice to implement clients for other languages (now only JavaScript
(including node.js) and Prolog).
If Pengines are too slow, a dedicated socket protocol is often fast
enough. You can also use shared memory to implement really fast
data exchange. Possibly we should write a tiny C library that
realises this?
Cheers --- Jan
>
> tom.
>
> On Wednesday, September 16, 2015 at 10:18:38 AM UTC-5, Jan Wielemaker wrote:
>
> On 09/16/2015 05:02 PM, Stephen Coda wrote:
> > libpl (shared) not found. Possible Reasons:
> > 1) SWI-Prolog not installed as a shared library. Install SWI-Prolog
> > (6.5.34 works just fine)
> > look in the documentation but can not find the file libpl if someone
> > could help me with this I would appreciate it have searched and
> can not
> > find enough certainly use ubuntu 12.04 and install it via PPA
>
> libpl.so has been renamed long time ago to libswipl.so for consistency
> with the executable naming and to make the naming consistent across
> OSes.
>
> Cheers --- Jan
>