ClosedOperator

interface ClosedOperator : Operator

An operator that surrounds its operands.

An operator is closed if all its operands are contained between its named parts. For example, a pair of parentheses ((x)) is a closed operator.

Closed operators are non-associative.

Functions

alternativeTypes
Link copied to clipboard
open fun alternativeTypes(): List<FunctionType>

In lieu of polymorphic types, have an optional list of alternative types to check against.

apply
Link copied to clipboard
abstract fun apply(arguments: List<Value>): Value

Computes the result of applying this operator to arguments.

toDocument
Link copied to clipboard
abstract fun toDocument(arguments: List<PrettyPrintable>): Document

Shows this operator applied to arguments.

Properties

associativity
Link copied to clipboard
open override val associativity: Associativity

Determines the grouping of consecutive operators that have the same precedence.

precedence
Link copied to clipboard
abstract val precedence: Precedence

Determines the order of this operator with respect to (a subset of) other operators. Operators with higher precedence bind tighter than operators with lower precedence (for example, multiplication has higher precedence than addition).

type
Link copied to clipboard
abstract val type: FunctionType

The type of this operator.