All Classes and Interfaces
Class
Description
abs - returns the absolute value of a numeric argument.A template for
ArithmeticOperators that accept two arguments.A template for
ArithmeticOperators that accept two arguments of type TermType.INTEGER.Deprecated.
Superclass of "plug-in" predicates that are not re-evaluated as part of backtracking.
A template for
ArithmeticOperators that accept exactly one argument.+ - performs addition.pj_add_arithmetic_operator(X,Y) - defines a Java class as an arithmetic operator.pj_add_clp_expression(X,Y) - defines a Java class as an CLP expression.pj_add_predicate(X,Y) - defines a Java class as a built-in predicate.arithmetic_function(X) - defines a predicate as an arithmetic function.spy(X) / nospy(X) - add or remove a spy point for a predicate.append(X,Y,Z) - concatenates two lists.append(ListOfLists, List) - concatenates a list of lists.arg(N,T,A) - allows access to an argument of a structure.Represents a function that returns a single numerical value.
Maintains a collection of
ArithmeticOperator instances.asserta(X) / assertz(X) - adds a clause to the knowledge base.Represents a specific object or relationship.
atom_concat(X, Y, Z) - concatenates atom names.atomic_list_concat(List,Separator,Atom) / atomic_list_concat(List,Atom)bagof(X,P,L) - find all solutions that satisfy the goal.between(X,Y,Z) - checks if a number is within a specified range./\ - performs bitwise addition.\/ - bitwise 'or'.xor - bitwise 'exclusive or'.CLP predicates for comparing boolean values.
call(X) - calls the goal represented by a term.char_type(X,Y) - classifies characters.Represents a clause.
close(X) - closes a stream.compare(X,Y,Z) - compares arguments.X,Y - conjunction.consult(X) - reads clauses and goals from a file.Read clauses and goals from a list of files.
convert_time(X,Y) - converts a timestamp to a textual representation.copy_term(X,Y) - makes a copy of a term.current_input(X) - match a term to the current input stream.current_output(X) - match a term to the current output stream.current_predicate(X) - unifies with defined predicates.!Exception thrown when the evaluation of a rule backtracks to a cut.
debugging - lists current spy points.Represents a value of the primitive type
double as a Term.delete(X,Y,Z) - remove all occurrences of a term from a list.dif(X,Y) - enforces restriction that the two given terms are never equal.X;Y - disjunction.all_different([X,Y,Z]) - enforce that none of the given CLP variables share the same value./ - performs division.dynamic/1 - indicates that a user defined predicate is dynamic.Maintains a record of the clauses that represents a "dynamic" user defined predicate.
Represents a data structure with no
Terms.Signals a failure to successfully parse Prolog syntax due to incomplete input.
ensure_loaded(X) - reads clauses and goals from a file.X=Y - an equality test.erase(X) - removes a record from the recorded database.Maintains a collection of
ExpressionFactory instances.min_list / max_list
min_list(Min, List) - True if Min is the smallest number in List.fail - always fails.Collection of input and output streams.
findall(X,P,L) - find all solutions that satisfy the goal.flag(X,Y,Z) - associates a key with a value.flatten(X,Y) - flattens a nested list.foldl(PredicateName, Values, Start, Result) - combines elements of a list into a single term.functor(T,F,N)get_char(X) - reads the next character from the input stream.get_code(X) - reads the next character from the input stream.get_time(X) - gets the current system time.X->Y - if X succeeds then Y is evaluated.X in 1..4 / [X,Y,Z] ins 1..4 - restrict CLP variables to a range of values.recorda(X,Y,Z) / recordz(X,Y,Z) - associates a term with a key.clause(X,Y) / retract(X) - matches terms to existing clauses.// - performs integer division.Represents a value of the primitive type
long as a Term.Creates "tail recursion optimised" versions of user defined predicates.
Represents a user defined predicate.
X is Y - evaluate arithmetic expression.atom(X) - checks that a term is an atom.atomic(X) - checks that a term is atomic.compound(X) - checks that a term is a compound term.float(X) - checks that a term is a floating point number.integer(X) - checks that a term is an integer.is_list(X) - checks that a term is a list.nonvar(X) - checks that a term is not an uninstantiated variable.number(X) - checks that a term is numeric.var(X) - checks that a term is an uninstantiated variable.keysort(X,Y) - sorts a list of key/value pairs.The central object that connects the various components of an instance of the "core" inference engine.
Associates arbitrary objects with a
KnowledgeBase.Helper methods for performing common tasks on
KnowledgeBase instances.last(X,Y) - finds the last element of a list.length(X,Y) - determines the length of a list.limit(N, X) - calls the goal represented by a term a maximum number of times.Represents a data structure with two
Terms - a head and a tail.Static factory methods for creating new instances of
List.listing(X) - outputs current clauses.Helper methods for performing common tasks with Prolog list data structures.
maplist(X,Y) / maplist(X,Y,Z) - determines if a goal succeeds against elements of a list.max - finds the maximum of two numbers.member(E, L) - enumerates members of a list.memberchk(E, L) - checks is a term is a member of a list.min - finds the minimum of two numbers.- - minus operator.mod - finds the remainder of division of one number by another.* - performs multiplication.nl - outputs a new line character.nodebug - removes all current spy points.\+ X - "not".notrace - disables exhaustive tracing.X\==Y - a strict equality test.X \= Y - checks whether two terms cannot be unified.nth0(X,Y,Z) / nth1(X,Y,Z) - examines an element of a list.numbervars(Term,Start,End) - unifies free variables of a term.A
Term that has a numerical value.CLP predicates for comparing numeric values.
X=:=Y - numeric equality test.X>Y - numeric "greater than" test.X>=Y - numeric "greater than or equal" test.X=\=Y - numeric inequality test.X<Y - numeric "less than" test.X=<Y - numeric "less than or equal" test.Provides methods for comparing instances of
Numeric.once(X) - calls the goal represented by a term.op(X,Y,Z)open(X,Y,Z) - opens a file.Collection of operands.
pairs_keys(Pairs,Keys) / pairs_values(Pairs,Values) - get keys or values from list of Key-Value pairs.Signals a failure to successfully parse Prolog syntax.
** - calculates the result of the first argument raised to the power of the second argument.Represents a goal.
Returns specialised implementations of
Predicate.Represents the structure of a
Term.Acts as a repository of rules and facts.
predsort(X,Y,Z) - sorts a list using the specified predicate.Provides an entry point for other Java code to interact with Projog.
Command line interface to Prolog.
Implementation of
ProjogProperties with hard-coded values.An exception that provides information on an error within the Projog environment.
Controls the registering and notification of listeners of a
KnowledgeBase.Collection of configuration properties.
Populates a
KnowledgeBase with clauses parsed from Prolog syntax.An element in a stack trace, as returned by
Projog.getStackTrace(Throwable).put_char(X) - writes a character.Represents a plan for executing a Prolog query.
Represents an executing query.
Represents a query.
random(X) Evaluate to a random integer i for which 0 =< i < X.random_permutation(X,Y) - produces a random permutation of a list.read(X) - reads a term from the input stream.recorded(X,Y,Z) - checks if a term is associated with a key.Provides a mechanism to associate a term with a key.
rem - finds the remainder of division of one number by another.repeat - always succeeds.repeat(N) - succeeds N times.label([X]) - assigns concrete values to the given CLP variables.retractall(X) - remove clauses from the knowledge base.reverse(X,Y) - reverses the order of elements in a list.integer(X) - round X to the nearest integer value.see(X) - opens a file and sets it as the current input stream.seen - closes the current input stream.select(X,Y,Z) - removes an element from a list.Parses Prolog syntax representing rules including operators.
set_input(X) - sets the current input.setof(X,P,L) - find all solutions that satisfy the goal.set_output(X) - sets the current output.<< - left shift bits.>> - right shift bits.msort(X,Y) - sorts a list.sort(X,Y) - sorts a list and removes duplicates.Collection of spy points.
Maintains a record of the clauses that represents a "static" user defined predicate.
X==Y - a strict equality test.include(X,Y,Z) - filters a list by a goal.subset(X,Y) - checks if a set is a subset.- - performs subtraction.subtract(X,Y,Z) - removes elements from a list.sum_list(X,Y) - sums the elements of a list.tab(X) - writes X number of spaces to the output stream.table/1 - defines a user defined predicate as using tabled execution.A template for implementations of
Predicate that are tail recursive.Defines the characteristics of a tail recursive user defined predicate.
tell(X) - opens a file and sets it as the current output stream.The building blocks used to construct Prolog programs and queries.
An implementation of
Comparator for comparing instances of Term.Produces
String representations of Term instances.X@>Y - term "greater than" test.X@>=Y - term "greater than or equal" test.X@<Y - term "less than" test.X@=<Y - term "less than or equal" test.atom_chars / atom_codes / number_chars / number_codes
atom_chars(A,L) compares the atom A to the list of characters L.
atom_codes(A,L) compares the atom A to the list of character codes L.
number_chars(N,L) compares the number N to the list of characters L.
number_codes(N,L) compares the number N to the list of character codes
L.
Defines the type of terms supported by Projog.
Helper methods for performing common tasks on
Term instances.throw(X) - throws an exception with the given message.told - closes the current output stream.trace - enables exhaustive tracing.true - always succeeds.unify_with_occurs_check(X, Y) - an equality test using sound unification.X=..L - "univ".Represents all predicates that a
KnowledgeBase has no definition of.Maintains a record of the clauses that define a user defined predicate.
Represents an unspecified
Term.write(X) - writes a term to the output stream.write_canonical(X) - writes a term to the output stream.writef(X,Y) - writes formatted text to the output stream.