JPL 3.x Java API gotchas


arg indexing

the Term[] args of a Compound are indexed (like all Java arrays) from zero, whereas in Prolog the args of a structure are conventionally numbered from one.

representing @(null)

there is no jpl.JNull class: instead, use new JRef(null) to represent @(null) (which itself represents Java's null).  If you don't know what this all means, don't worry: it only affects those writing hybrid Java+Prolog programs which call each other nestedly.

all solutions of a Query with no solutions

Query.allSolutions() now returns an empty array of Map if the Query has no solutions (in 1.x versions it inconsistently returned null).


Paul Singleton
drafted Wednesday 4th February 2004