package
1.7.6
Repository: https://github.com/influxdata/kapacitor.git
Documentation: pkg.go.dev

# Functions

NewExpression accept a node and try to "compile"/ "specialise" it in order to achieve better runtime performance.
Return set of built-in Funcs.
Initialize a new Scope object.
NewScopePool - creates new ScopePool for the given Node.

# Variables

NewRand creates a new rng.

# Structs

ErrSide wraps the error in the evaluation, we use this error to indicate the origin of the error left side or right side.
ErrTypeGuardFailed is returned when a speicifc value type is requested thorugh NodeEvaluator (for example: "Float64Value") when the node doesn't support the given type, for example "Float64Value" is called on BoolNode.
EvalBinaryNode is stateful expression which is evaluated using "expression trees" instead of stack based interpreter.
ExecutionState is auxiliary struct for data/context that needs to be passed to evaluation functions.
Contains a set of variables references and their values.

# Interfaces

Expression is interface that describe expression with state and it's evaluation.
A callable function from within the expression.
NodeEvaluator provides a generic way for trying to fetch node value, if a speicifc type is requested (so Value isn't called, the *Value is called) ErrTypeGuardFailed must be returned.
ScopePool - pooling mechanism for Scope The idea behind scope pool is to pool scopes and to put them only the needed variables for execution.

# Type aliases

Lookup for functions.
rand gives you a random number.