class Ven::Suite::MBuiltinFunction

Overview

A model that brings Crystal's Procs to Ven, allowing to define primitives. Supports supervisorship by an MGenericFunction.

Defined in:

ven/suite/model.cr

Constructors

Instance Method Summary

Instance methods inherited from class Ven::Suite::MFunction

callable? callable?, leading?(type : Model) leading?, pg(params : Array(String), given : Models) pg, specificity : Int32 specificity, variant?(args : Models) variant?

Instance methods inherited from class Ven::Suite::MClass

[]=(referent : Model, value : Model) : Model | Nil []=, []?(index : Int)
[]?(index : Range)
[]?
, callable? : Bool callable?, eqv?(other : Model) : Bool eqv?, false? : Bool false?, field(name : String) : Model | Nil field, indexable? indexable?, length : Int32 length, match(other : Model) match, nth(index : Num)
nth(range : MRange)
nth(other)
nth
, of?(other : MType) : Bool
of?(other : MAny)
of?(other)
of?
, set_referent(referent : Model, value : Model) : Model set_referent, to_bool(inverse = false) : MBool to_bool, to_num : Num to_num, to_str : Str to_str, to_vec : Vec to_vec, true? : Bool true?, weight : MWeight weight

Constructor Detail

def self.new(name : String, arity : Int32, callee : Ven::Machine, Array(Ven::Suite::MClass | Ven::Suite::MStruct) -> Ven::Suite::MClass | Ven::Suite::MStruct) #

[View source]

Instance Method Detail

def ==(other : MBuiltinFunction) #

Returns whether this builtin's identity is equal to the other builtin's identity.


[View source]
def arity : Int32 #

[View source]
def callee : Proc(Machine, Models, Model) #

[View source]
def field(name) #

[View source]
def length : Int32 #
Description copied from class Ven::Suite::MClass

Returns the length (#) of this model.


[View source]
def name : String #

[View source]
def specificity #

Returns how specific this builtin is. Note that in builtins all arguments have the weight of MWeight::ANY.


[View source]
def to_s(io) #

[View source]
def variant?(args) : self | Bool #

[View source]