jpl

Class JPL

public class JPL extends Object

The jpl.JPL class contains methods which allow (i) inspection and alteration of the "default" initialisation arguments (ii) explicit initialisation (iii) discovery of whether the Prolog engine is already initialised, and if so, with what arguments. The Prolog engine must be initialized before any queries are made, but this will happen automatically (upon the first call to a Prolog FLI routine) if it has not already been done explicitly.
Copyright (C) 2004 Paul Singleton

Copyright (C) 1998 Fred Dushin

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library Public License for more details.


Field Summary
static TermJFALSE
static TermJNULL
static TermJTRUE
static TermJVOID
Method Summary
static String[]getActualInitArgs()
Returns, in an array of String, the sequence of command-line arguments that were actually used when the Prolog engine was formerly initialised.
static String[]getDefaultInitArgs()
Returns, in an array of String, the sequence of command-line arguments that would be used if the Prolog engine were to be initialised now.
static voidhalt()
Terminates the Prolog session.

Note. This method calls the FLI halt() method with a status of 0, but the halt method currently is a no-op in SWI.

static booleaninit(String[] args)
Initializes the Prolog engine, using the String argument parameters passed.
static booleaninit()
Initialises the Prolog engine using the current default initialisation parameters, and returns 'true' (or 'false' if already initialised).
static booleanisTag(String s)
whether the String arg is a plausible tag, e.g.
static voidmain(String[] args)
static TermnewJRef(Object obj)
returns a new Term instance which represents the given object
static voidsetDefaultInitArgs(String[] args)
Specifies, in an array of String, the sequence of command-line arguments that should be used if the Prolog engine is subsequently initialised.

static voidsetDTMMode(boolean dtm)
Sets the global "dont-tell-me" mode (default value: true).
static Versionversion()
Returns (as a Version) an identification of this version of JPL.
static Stringversion_string()
Returns a String (eg "3.0.0-alpha") identifying this version of JPL.

Field Detail

JFALSE

public static final Term JFALSE

JNULL

public static final Term JNULL

JTRUE

public static final Term JTRUE

JVOID

public static final Term JVOID

Method Detail

getActualInitArgs

public static String[] getActualInitArgs()
Returns, in an array of String, the sequence of command-line arguments that were actually used when the Prolog engine was formerly initialised. This method returns null if the Prolog engine has not yet been initialised, and thus may be used to test this condition.

Returns: actual initialization arguments

getDefaultInitArgs

public static String[] getDefaultInitArgs()
Returns, in an array of String, the sequence of command-line arguments that would be used if the Prolog engine were to be initialised now. Returns null if the Prolog VM has already been initialised (in which case the default init args are irrelevant and the actual init args are of interest)

Returns: current default initialisation arguments, or null if already initialised

See Also: JPL

halt

public static void halt()

Deprecated:

Terminates the Prolog session.

Note. This method calls the FLI halt() method with a status of 0, but the halt method currently is a no-op in SWI.

init

public static boolean init(String[] args)
Initializes the Prolog engine, using the String argument parameters passed. This method need be called only if you want to both (i) initialise the Prolog engine with parameters other than the default ones and (ii) force initialisation to occur (rather than allow it to occur automatically at the first query). For parameter options, consult your local Prolog documentation. The parameter values are passed directly to initialization routines for the Prolog environment.

This method must be called before making any queries.

Parameters: args Initialization parameter list

init

public static boolean init()
Initialises the Prolog engine using the current default initialisation parameters, and returns 'true' (or 'false' if already initialised).

isTag

public static boolean isTag(String s)
whether the String arg is a plausible tag, e.g. "J#0123456789".

main

public static void main(String[] args)

newJRef

public static Term newJRef(Object obj)
returns a new Term instance which represents the given object

setDefaultInitArgs

public static void setDefaultInitArgs(String[] args)
Specifies, in an array of String, the sequence of command-line arguments that should be used if the Prolog engine is subsequently initialised.

Parameters: args new default initialization arguments

setDTMMode

public static void setDTMMode(boolean dtm)
Sets the global "dont-tell-me" mode (default value: true). When 'true', bindings will *not* be returned for any variable (in a Query's goal) whose name begins with an underscore character (except for "anonymous" variables, i.e. those whose name comprises just the underscore character, whose bindings are never returned). When 'false', bindings are returned for *all* variables except anonymous ones; this mode may be useful when traditional top-level interpreter behaviour is wanted, e.g. in a Java-based Prolog IDE or debugger.

This method should be regarded as experimental, and may subsequently be deprecated in favour of some more general mechanism for setting options, perhaps per-Query and per-call as well as globally.

Parameters: dtm new "dont-tell-me" mode value

version

public static Version version()
Returns (as a Version) an identification of this version of JPL.

Returns: the running version of JPL.

version_string

public static String version_string()
Returns a String (eg "3.0.0-alpha") identifying this version of JPL.

Returns: a String (eg "3.0.0-alpha") identifying this version of JPL.