JPL - Release notes - 3.0.3

Changes within the distribution

Java API changes

new Query("statistics")
and allows arbitrarily complex goals to be created textually, e.g.
new Query("setof(_A,current_atom(_A),_As),length(_As,N)")
NB _A and _As are dont-tell-me variables (this property is determined by their initial underscore), whose bindings are by default not returned when the query is called (saving computational time and space).  This behaviour can be overridden (globally) with
jpl.JPL.setDTMMode( false)
to allow Java+JPL+Prolog implementation of a Prolog IDE which emulates the behaviour of the traditional top-level interpreter. 
"setof(P,mypred(?,P,?),Ps), length(Ps,?)"
and the args comprise as many terms as there are questionmarks, then the new query's goal is a rewriting of text's term, with each questionmark replaced by the corresponding element of args.  This is designed to mimic the established and useful idiom of passing parameters into SQL prepared statements.  It allows all the constant parts of a parameterised query to be defined textually.

Paul Singleton
Friday12th March 2004