ArithmeticEvaluator

Evaluates an expression as a Numeric term. Throws a TypeError in case a non-evaluable sub-term is met. Throws a TypeError in case the evaluation produces a non-numeric term.

Parameters

request

the request of the primitive in which the evaluation should happen

index

the index of the argument being evalued in the aforementioned primitive

Constructors

Link copied to clipboard
constructor(request: Solve.Request<E>, index: Int?)
constructor(request: Solve.Request<E>)

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
open override fun defaultValue(term: Term): Numeric
Link copied to clipboard
open fun unevaluable(struct: Struct): Term

Called when struct matches no LogicFunction in loadedFunctions; by default raises a TypeError (TypeError.Expected.EVALUABLE). Overridden by ExpressionReducer to leave non-evaluable sub-terms untouched instead of failing.

Link copied to clipboard
open override fun visitAtom(term: Atom): Numeric
Link copied to clipboard
open fun visitBlock(term: Block): Numeric
Link copied to clipboard
open fun visitClause(term: Clause): Numeric
Link copied to clipboard
Link copied to clipboard
open fun visitCons(term: Cons): Numeric
Link copied to clipboard
open fun visitConstant(term: Constant): Numeric
Link copied to clipboard
Link copied to clipboard
open fun visitEmpty(term: Empty): Numeric
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun visitFact(term: Fact): Numeric
Link copied to clipboard
open override fun visitIndicator(term: Indicator): Numeric
Link copied to clipboard
open fun visitInteger(term: Integer): Numeric
Link copied to clipboard
open fun visitList(term: List): Numeric
Link copied to clipboard
open fun visitNumeric(term: Numeric): Numeric
Link copied to clipboard
open fun visitReal(term: Real): Numeric
Link copied to clipboard
open fun visitRule(term: Rule): Numeric
Link copied to clipboard
open override fun visitStruct(term: Struct): Numeric
Link copied to clipboard
open override fun visitTerm(term: Term): Numeric
Link copied to clipboard
open fun visitTruth(term: Truth): Numeric
Link copied to clipboard
open fun visitTuple(term: Tuple): Numeric
Link copied to clipboard
open fun visitVar(term: Var): Numeric