Mixing Java and Prolog

SICStus Prolog supports two different ways of interfacing a Prolog program with a Java program: Jasper and PrologBeans. These two packages are quite different, and the programmer is well advised to carefully consider which package is best suited to her needs.

Jasper is "tightly coupled" with Prolog, which means that everything runs in the same process (the necessary code is loaded at runtime via dynamic linking). PrologBeans, on the other hand, is "loosely coupled", which means that the Java code runs in a different process from the Prolog code. In fact, the Java program and the Prolog program can run on separate machines, since the communication is done via TCP/IP sockets.

Advantages of Jasper:

Advantages of PrologBeans: