IF/Prolog V5.3 with Java Interface
The new IF/Prolog V5.3 for Windows now contains a superb Java-Interface. Analog to the existing C/C++ Interfaces the Java Interface is bi-directional enabling IF/Prolog programs to be embedded as a software component for modern application development. IF/Prolog may either be called via a Java Class or may include Java implemented predicates.
The most important aspects of the new interface are:
- A two level Java -> Prolog interface enables the programmer to either pass Prolog goals as strings which are then parsed, or to efficiently build up, in the systems internal representation, structures using a pre-defined set of macros.
- The Prolog -> Java interface allows deterministic predicates to be defined as Java routines. These predicates can be as efficient as IF/Prologs own built-in predicates.
- Prolog and Java code may be freely inter-mixed and used both recursively and in re-entrant combinations.
- Java routines may be assigned to modules which can then be incorporated as freely into large applications as modules written in Prolog.
- There are no size restrictions placed on data which can be exchanged between Java and Prolog as garbage collection and memory expansion may take place transparently, even during the execution of Java routines.