Skip to main content

Expressions

Arr.ai expressions are combinations of syntax which can be evaluated to produce some value. All arr.ai programs are expressions, and every value and operation in a program is an expression.

Implementation#

Each expression is a type defined in the rel package, and implements the Expr interface:

type Expr interface {    // All exprs can be serialized to strings with the String() method.    fmt.Stringer
    // Eval evaluates the expr in a given scope.    Eval(ctx context.Context, local Scope) (Value, error)
    // Source returns the Scanner that locates the expression in a source file.    Source() parser.Scanner}