struct Myst::Invocation
- Myst::Invocation
- Struct
- Value
- Object
Overview
An Invocation is a binding of the interpreter, a function, and arguments for the function together to represent a Call.
In essence, an Invocation is the step between the Call node in the AST and the result of calling a function. Functor resolution happens before creating an Invocation, meaning they can be passed around without concern for lexical scoping or the like. However, the entire functor is carried with an Invocation; matching to a specific definition does not happen until the Invocation is invoked.
Defined in:
myst/interpreter/invocation.crConstructors
Instance Method Summary
- #args : Array(MTValue)
- #args=(args : Array(MTValue))
- #block : TFunctor | Nil
- #block=(block : TFunctor | Nil)
- #block? : TFunctor | Nil | Nil
- #func : TFunctor
- #func=(func : TFunctor)
- #invoke
- #itr : Interpreter
- #itr=(itr : Interpreter)
- #receiver : MTValue | Nil
- #receiver=(receiver : MTValue | Nil)
- #receiver? : MTValue | Nil | Nil
Constructor Detail
def self.new(itr : Interpreter, func : TFunctor, receiver : MTValue | Nil, args : Array(MTValue), block : TFunctor | Nil)
#