ExpressionReducer

class ExpressionReducer<E : ExecutionContext> : AbstractEvaluator<E, Term>

Reduces a Term as an expression by evaluating all the evaluable sub-terms it contains w.r.t. the loaded functions provided through request. If the input expression is non-evaluable, it remains unaffected and no error is thrown

Constructors

<init>

constructor(request: Request<E>, index: Int?)

Reduces a Term as an expression by evaluating all the evaluable sub-terms it contains w.r.t. the loaded functions provided through request. If the input expression is non-evaluable, it remains unaffected and no error is thrown

Parameters

Name Description
request: Request<E>

the request of the primitive in which the evaluation should happen

index: Int?

the index of the argument being evalued in the aforementioned primitive

Methods

unevaluable

fun unevaluable(struct: Struct): Term

Parameters

Name Description
struct: Struct

ReturnValue

Name Description
Term