There is a notion in Ciao that is close to what you describe: active
modules. Essentially, the idea is that you can make a server out of
any module by simply compiling it with particular compiler
options. The result is an executable that can be started and run as a
service/daemon. It is then very easy to write clients that connect to
it. Traditionally the clients are written also in Prolog but but it
would be quite easy to write a client in any language because what the
server receives is a simply string with a query, sent through a
socket, and it returns answers also coded as strings through a
socket.
What would be an interesting little project that someone may want to
tackle would be to write the client-side library for languages other
than Prolog, i.e., for C, C++, Java, ... This should be very easy
since we already have interfaces from these languages.
--
----------------------- The Ciao System Development Team --------------------
The CLIP Group | Technical University of Madrid
ciao(a)clip.dia.fi.upm.es | University of New Mexico
http://www.cliplab.org /
http://www.ciaohome.org
-----------------------------------------------------------------------------
==============================================================================
Message: Address: Action:
help majordomo(a)clip.dia.fi.upm.es Info. on useful commands
subscribe ciao-users-request(a)clip.dia.fi.upm.es Subscribe to this list
unsubscribe ciao-users-request(a)clip.dia.fi.upm.es Unsubscribe from this list
<whatever> ciao-users(a)clip.dia.fi.upm.es Send message to list
-----------------------------------------------------------------------------
Archived messages:
http://www.clip.dia.fi.upm.es/Mail/ciao-users/
-----------------------------------------------------------------------------