class Myst::TFunctor

Overview

A Functor is a container for multiple functor definitions, which can either be language-level or native.

Defined in:

myst/interpreter/value.cr

Constructors

Instance Method Summary

Instance methods inherited from class Myst::MutableValue

ivars : Scope ivars, ivars=(ivars : Scope) ivars=, truthy? truthy?, type_name type_name

Constructor Detail

def self.new(name : String, clauses : Array(Myst::TFunctorDef | Bool | Float64 | Int64 | Myst::MutableValue | String, Array(Bool | Float64 | Int64 | Myst::MutableValue | String), Nil | Myst::TFunctor -> Bool | Float64 | Int64 | Myst::MutableValue | String) = [] of Callable, lexical_scope : Scope = Scope.new, closure : Bool = false, closed_self : MTValue | Nil = nil) #

[View source]

Instance Method Detail

def ==(other : self) #
Description copied from class Reference

Returns true if this reference is the same as other. Invokes same?.


def add_clause(definition : Callable) #

[View source]
def clauses : Array(Callable) #

[View source]
def clauses=(clauses : Array(Callable)) #

[View source]
def closed_self : MTValue | Nil #

def closed_self=(closed_self : MTValue | Nil) #

[View source]
def closed_self? : MTValue | Nil | Nil #

def closure=(closure : Bool) #

[View source]
def closure? : Bool #

[View source]
def hash(hasher) #
Description copied from class Reference

See Object#hash(hasher)


def inspect(io : IO) #
Description copied from class Reference

Appends a String representation of this object which includes its class name, its object address and the values of all instance variables.

class Person
  def initialize(@name : String, @age : Int32)
  end
end

Person.new("John", 32).inspect # => #<Person:0x10fd31f20 @name="John", @age=32>

[View source]
def lexical_scope : Scope #

[View source]
def lexical_scope=(lexical_scope : Scope) #

[View source]
def name : String #

[View source]
def name=(name : String) #

[View source]
def new_scope #

[View source]
def type_name #

[View source]