I want to write a program in Java that uses GNU prolog. That, I think, means using an intermediate C module. Is possible to compile a C module using gplc that also references Java through the Java native interface? Data would be passed from the Java program to the C module to GNU Prolog, and then back from GNU prolog to the C module to the Java program. Or is there an easier way to do this? My Java program is an applet that would be running over the internet, so I am not sure if I would want to write the data (facts) for the GNU prolog to a file, call a GNU prolog executable (through an OS call) from Java that reads the data from a file and then writes the results back to a file. The output file would then be available for Java to read. I thought of sockets, but the program that I am writing is for a Windows platform, and the documentation on sockets mentions UNIX.