Versions in this module Expand all Collapse all v0 v0.2.10 Jan 6, 2023 v0.2.9 Jul 27, 2022 Changes in this version + const ARRAY_OBJ + const BOOLEAN_OBJ + const BREAK_VALUE_OBJ + const BUILTIN_OBJ + const ENUM_OBJ + const ERROR_OBJ + const FLOAT_OBJ + const FUNCTION_OBJ + const HASH_OBJ + const INTEGER_OBJ + const NULL_OBJ + const RETURN_VALUE_OBJ + const STRING_OBJ + var Arguments []string + var EPSILON float64 = 0.00000001 + var ExitFunction func(int) + var FALSE = &Boolean + var NULL = &Null + var StandardInput io.Reader + var StandardOutput io.Writer + var TRUE = &Boolean + func Check(name string, args []Object, checks ...CheckFunc) error + func InspectObject(args ...Object) string + func IsArray(o Object) bool + func IsError(o Object) bool + func IsHash(o Object) bool + func IsNumber(o Object) bool + func IsString(o Object) bool + func IsTruthy(o Object) bool + type Array struct + Elements []Object + func (ao *Array) Inspect() string + func (ao *Array) Type() ObjectType + func (s *Array) Call(method string, args ...Object) Object + func (s *Array) Clone() Object + type Boolean struct + Value bool + func (b *Boolean) HashKey() HashKey + func (b *Boolean) Inspect() string + func (b *Boolean) Type() ObjectType + func (s *Boolean) Call(method string, args ...Object) Object + type Break struct + Value Object + func (b *Break) Inspect() string + func (b *Break) Type() ObjectType + type Builtin struct + Fn BuiltinFunction + func NewBuiltin(function BuiltinFunction) *Builtin + func (b *Builtin) Inspect() string + func (b *Builtin) Type() ObjectType + type BuiltinFunction func(args ...Object) Object + type CallableMethod interface + Call func(method string, args ...Object) Object + type CheckFunc func(name string, args []Object) error + func ExactArgs(n int) CheckFunc + func MinimumArgs(n int) CheckFunc + func OneOfType(types ...ObjectType) CheckFunc + func RangeOfArgs(n, m int) CheckFunc + func WithTypes(types ...ObjectType) CheckFunc + type Cloneable interface + Clone func() Object + type Comparable interface + Compare func(right Object) int8 + type Enum struct + Branches map[string]Object + func (en *Enum) Inspect() string + func (en *Enum) Type() ObjectType + type Environment struct + func NewEnclosedEnvironment(outer *Environment) *Environment + func NewEnvironment() *Environment + func (e *Environment) Get(name string) (Object, bool) + func (e *Environment) Set(name string, val Object) Object + type Error struct + Message string + func NewError(message string) *Error + func NewErrorFormat(format string, a ...interface{}) *Error + func (e *Error) Inspect() string + func (e *Error) Type() ObjectType + type Float struct + Value float64 + func (f *Float) Call(method string, args ...Object) Object + func (f *Float) Compare(right Object) int8 + func (f *Float) HashKey() HashKey + func (f *Float) Inspect() string + func (f *Float) Type() ObjectType + type Function struct + Body *ast.BlockStatement + Env *Environment + Parameters []*ast.Identifier + func (f *Function) Inspect() string + func (f *Function) Type() ObjectType + type FunctionLiteral struct + Body *ast.BlockStatement + Env *Environment + Parameters []*ast.Identifier + func (f *FunctionLiteral) Inspect() string + func (f *FunctionLiteral) Type() ObjectType + type Hash struct + Pairs map[HashKey]HashPair + func (h *Hash) Inspect() string + func (h *Hash) Type() ObjectType + func (s *Hash) Call(method string, args ...Object) Object + type HashKey struct + Type ObjectType + Value uint64 + type HashPair struct + Key Object + Value Object + type Hashable interface + HashKey func() HashKey + type Integer struct + Value int64 + func (i *Integer) Compare(right Object) int8 + func (i *Integer) HashKey() HashKey + func (i *Integer) Inspect() string + func (i *Integer) Type() ObjectType + func (s *Integer) Call(method string, args ...Object) Object + type Null struct + func (n *Null) Inspect() string + func (n *Null) Type() ObjectType + type Object interface + Inspect func() string + Type func() ObjectType + type ObjectType string + type ReturnValue struct + Value Object + func (rv *ReturnValue) Inspect() string + func (rv *ReturnValue) Type() ObjectType + type String struct + Value string + func (s *String) Call(method string, args ...Object) Object + func (s *String) Compare(right Object) int8 + func (s *String) HashKey() HashKey + func (s *String) Inspect() string + func (s *String) Type() ObjectType