Is it possible to build shared libraries (e.g. *.so, *.dll) using languages other than C or C++?
What is the underlying requirement to build a shared library? Is it that the language be capable of compiling to a native binary?
I’m particularly interested to find out if it is possible to build a shared library from Prolog.
E.g. could I build a .so using Prolog, which I could then link to from another language, C, Java, Python etc.
You can build a shared library with a number of languages. One I use regularly is Delphi, which can create dll’s for windows.
For Prolog, not sure if you can create a shared library, it would need some sort of run time environment, if any did I’d start with GNU-Prolog. The problem isn’t technical so much as licensing.
There are prologs around that can be used as a shared library, and linked in with your app, written in anything that can include a shared library (most languages). A quick google turned up these http://www.swi-prolog.org/FAQ/, http://www.gprolog.org/#platform