Learned how to print out the parameters the current prolog engine was called with, with the following function:
public String getActualArgs() { String[] initArgs = JPL.getActualInitArgs(); StringBuffer result = new StringBuffer(""); if (initArgs.length > 0) { result.append(initArgs[0]); for (int i=1; i<initArgs.length; i++) { result.append("\n"); result.append(initArgs[i]); } } else { result.append("Empty"); } return result.toString(); }
And the corresponding interface method:
@Recorded @PublishedMethod( methodSummary="Prints the arguments that the current Prolog engine was called with" ) public String getActualArgs();
Calling it from the Bioclipse JS Console:
> blipkit.getActualArgs() java.lang.NullPointerException: > blipkit.test() Result: passed. > blipkit.getActualArgs() pl -g true -nosignals
Ok, good to know.
I also came a bit with inputting the parameters from the blipkit startup script in /usr/local/bin/blip. I still get an error about an unknown PL_new_atom.
searching for that in the SWI-Prolog codebase yields the following:
samuel@samuel-asus:~/install/swi-prolog/pl-5.7.15$ egrep -ir "^pl_new_atom\(" ./* ./library/MANUAL:PL_new_atom(), 891 ./man/foreign.doc:PL_new_atom() and PL_atom_chars(). ./packages/xpce/sicstus/src/swi.h:PL_new_atom(const char *s) ./packages/C-sicstus/swi.h:PL_new_atom(const char *s) ./src/pl-fli.c:PL_new_atom(const char *s)
Gotta check up Prolog FLI (what's that?)