Package-level declarations
Types
Base TermVisitor for reducing an expression Term to a value of type T, recursively resolving any Struct sub-term whose Signature matches a LogicFunction loaded in request's it.unibo.tuprolog.solve.library.Runtime (loadedFunctions) into that function's Compute.Response.result. A Struct matching no loaded function is handled by unevaluable (by default, an error).
Base class to implement unary math functions
A class wrapping a LogicFunction implementation
Base class to implement math functions accepting only integers
A typealias for a prolog function that accepts a Compute.Request and returns a Compute.Response
Base class to implement arithmetic functions
Base class to implement nullary math functions (with no arguments)
Base class to implement unary math functions
Functions
Evaluates this Term as a full arithmetic expression (as is/2 does), via ArithmeticEvaluator, producing a Numeric result or raising an error if any sub-term is not evaluable, or does not evaluate to a number. index is used only to enrich thrown errors, identifying which argument of request this term came from.
Evaluates this Term as an expression against request's context-loaded functions, reducing evaluable sub-terms in place via ExpressionEvaluator; a non-evaluable sub-term raises a it.unibo.tuprolog.solve.exception.error.TypeError. index is used only to enrich that error, identifying which argument of request this term came from.