Documentation
¶
Overview ¶
Package value contains definitions of Elk values, classes, structs, modules etc.
Index ¶
- Constants
- Variables
- func CountFloatDigits(str string) int
- func Falsy(val Value) bool
- func GetFromSlice(collection *[]Value, index int) (Value, Value)
- func Hash(key Value) (result UInt64, err Value)
- func InitGlobalEnvironment()
- func InspectSlice[T Inspectable](slice []T) string
- func InspectSymbolContent(name string) string
- func InstanceOf(val Value, class *Class) bool
- func IntToGoInt(val Value) (int, bool)
- func IsA(val Value, class *Class) bool
- func IsMutableCollection(val Value) bool
- func IsNil(val Value) bool
- func LoadTimezone(name string) (zone *Timezone, err Value)
- func LogicalRightShift16[L SimpleInt](left L, right uint64) L
- func LogicalRightShift32[L SimpleInt](left L, right uint64) L
- func LogicalRightShift64[L SimpleInt](left L, right uint64) L
- func LogicalRightShift8[L SimpleInt](left L, right uint64) L
- func NewClassComparer(opts *cmp.Options) cmp.Option
- func NewInlineValueComparer(opts *cmp.Options) cmp.Option
- func NewInterfaceComparer(opts *cmp.Options) cmp.Option
- func NewModuleComparer(opts *cmp.Options) cmp.Option
- func NewObjectComparer(opts *cmp.Options) cmp.Option
- func NewReferenceComparer() cmp.Option
- func NewRegexComparer(opts *cmp.Options) cmp.Option
- func NewSymbolTableComparer() cmp.Option
- func ParseBigFloat(str string) (*BigFloat, Value)
- func ParseBigInt(s string, base int) (*BigInt, Value)
- func ParseDuration(s String) (result Duration, err Value)
- func ParseInt(s string, base int) (Value, Value)
- func ParseUBigInt(s string, base int) (*BigInt, Value)
- func PrecisionForFloatString(str string) uint
- func RefErr(ref Reference, err Value) (Value, Value)
- func ToGoInt(val Value) (int, bool)
- func ToGoUInt(val Value) (uint, bool)
- func ToValueErr[T ToValuer](t T, err Value) (Value, Value)
- func Truthy(val Value) bool
- type ArrayList
- func (l *ArrayList) Append(elements ...Value)
- func (l *ArrayList) At(i int) Value
- func (l *ArrayList) Capacity() int
- func (*ArrayList) Class() *Class
- func (l *ArrayList) Concat(other Value) (*ArrayList, Value)
- func (l *ArrayList) Copy() Reference
- func (*ArrayList) DirectClass() *Class
- func (l *ArrayList) Error() string
- func (l *ArrayList) Expand(newElements int)
- func (l *ArrayList) Get(index int) (Value, Value)
- func (l *ArrayList) Grow(newSlots int)
- func (l *ArrayList) Inspect() string
- func (*ArrayList) InstanceVariables() SymbolMap
- func (l *ArrayList) LeftCapacity() int
- func (l *ArrayList) Length() int
- func (l *ArrayList) Repeat(other Value) (*ArrayList, Value)
- func (l *ArrayList) Set(index int, val Value) Value
- func (l *ArrayList) SetAt(index int, val Value)
- func (*ArrayList) SingletonClass() *Class
- func (l *ArrayList) Subscript(key Value) (Value, Value)
- func (l *ArrayList) SubscriptSet(key, val Value) Value
- type ArrayListIterator
- func (*ArrayListIterator) Class() *Class
- func (l *ArrayListIterator) Copy() Reference
- func (*ArrayListIterator) DirectClass() *Class
- func (l *ArrayListIterator) Error() string
- func (l *ArrayListIterator) Inspect() string
- func (*ArrayListIterator) InstanceVariables() SymbolMap
- func (l *ArrayListIterator) Next() (Value, Value)
- func (*ArrayListIterator) SingletonClass() *Class
- type ArrayTuple
- func (t *ArrayTuple) Append(element Value)
- func (t *ArrayTuple) At(i int) Value
- func (*ArrayTuple) Class() *Class
- func (t *ArrayTuple) Concat(other Value) (Value, Value)
- func (t *ArrayTuple) Copy() Reference
- func (*ArrayTuple) DirectClass() *Class
- func (t *ArrayTuple) Error() string
- func (t *ArrayTuple) Expand(newElements int)
- func (t *ArrayTuple) Get(index int) (Value, Value)
- func (t *ArrayTuple) Inspect() string
- func (*ArrayTuple) InstanceVariables() SymbolMap
- func (t *ArrayTuple) Length() int
- func (t *ArrayTuple) Repeat(other Value) (*ArrayTuple, Value)
- func (t *ArrayTuple) Set(index int, val Value) Value
- func (t *ArrayTuple) SetAt(index int, val Value)
- func (*ArrayTuple) SingletonClass() *Class
- func (t *ArrayTuple) Subscript(key Value) (Value, Value)
- func (t *ArrayTuple) SubscriptSet(key, val Value) Value
- type ArrayTupleIterator
- func (*ArrayTupleIterator) Class() *Class
- func (t *ArrayTupleIterator) Copy() Reference
- func (*ArrayTupleIterator) DirectClass() *Class
- func (t *ArrayTupleIterator) Error() string
- func (t *ArrayTupleIterator) Inspect() string
- func (*ArrayTupleIterator) InstanceVariables() SymbolMap
- func (t *ArrayTupleIterator) Next() (Value, Value)
- func (*ArrayTupleIterator) SingletonClass() *Class
- type BeginlessClosedRange
- func (*BeginlessClosedRange) Class() *Class
- func (r *BeginlessClosedRange) Copy() Reference
- func (*BeginlessClosedRange) DirectClass() *Class
- func (r *BeginlessClosedRange) Error() string
- func (r *BeginlessClosedRange) Inspect() string
- func (r *BeginlessClosedRange) InstanceVariables() SymbolMap
- func (*BeginlessClosedRange) SingletonClass() *Class
- type BeginlessOpenRange
- func (*BeginlessOpenRange) Class() *Class
- func (r *BeginlessOpenRange) Copy() Reference
- func (*BeginlessOpenRange) DirectClass() *Class
- func (r *BeginlessOpenRange) Error() string
- func (r *BeginlessOpenRange) Inspect() string
- func (r *BeginlessOpenRange) InstanceVariables() SymbolMap
- func (*BeginlessOpenRange) SingletonClass() *Class
- type BigFloat
- func (f *BigFloat) Add(other Value) (Value, Value)
- func (z *BigFloat) AddBigFloat(x, y *BigFloat) *BigFloat
- func (f *BigFloat) AsGoBigFloat() *big.Float
- func (*BigFloat) Class() *Class
- func (x *BigFloat) Cmp(y *BigFloat) int
- func (f *BigFloat) Compare(other Value) (Value, Value)
- func (f *BigFloat) Copy() Reference
- func (*BigFloat) DirectClass() *Class
- func (z *BigFloat) DivBigFloat(x, y *BigFloat) *BigFloat
- func (f *BigFloat) Divide(other Value) (Value, Value)
- func (f *BigFloat) Equal(other Value) Value
- func (f *BigFloat) Error() string
- func (z *BigFloat) ExpBigFloat(x, y *BigFloat) *BigFloat
- func (f *BigFloat) Exponentiate(other Value) (Value, Value)
- func (f *BigFloat) FloorBigFloat() *BigFloat
- func (f *BigFloat) GreaterThan(other Value) (Value, Value)
- func (f *BigFloat) GreaterThanEqual(other Value) (Value, Value)
- func (f *BigFloat) Hash() UInt64
- func (f *BigFloat) Inspect() string
- func (f *BigFloat) InstanceVariables() SymbolMap
- func (f *BigFloat) IsInf(sign int) bool
- func (f *BigFloat) IsNaN() bool
- func (z *BigFloat) IsZero() bool
- func (f *BigFloat) LaxEqual(other Value) Value
- func (f *BigFloat) LessThan(other Value) (Value, Value)
- func (f *BigFloat) LessThanEqual(other Value) (Value, Value)
- func (z *BigFloat) Mod(x, y *BigFloat) *BigFloat
- func (f *BigFloat) Modulo(other Value) (Value, Value)
- func (z *BigFloat) MulBigFloat(x, y *BigFloat) *BigFloat
- func (f *BigFloat) Multiply(other Value) (Value, Value)
- func (f *BigFloat) Negate() *BigFloat
- func (f *BigFloat) Precision() uint
- func (z *BigFloat) Set(x *BigFloat) *BigFloat
- func (f *BigFloat) SetBigInt(i *BigInt) *BigFloat
- func (f *BigFloat) SetFloat(x Float) *BigFloat
- func (f *BigFloat) SetFloat64(x Float64) *BigFloat
- func (z *BigFloat) SetInf() *BigFloat
- func (f *BigFloat) SetInt64(i Int64) *BigFloat
- func (z *BigFloat) SetNaN() *BigFloat
- func (z *BigFloat) SetNegInf() *BigFloat
- func (f *BigFloat) SetPrecision(prec uint) *BigFloat
- func (f *BigFloat) SetSmallInt(i SmallInt) *BigFloat
- func (f *BigFloat) SetUInt64(i UInt64) *BigFloat
- func (f *BigFloat) Sign() int
- func (*BigFloat) SingletonClass() *Class
- func (f *BigFloat) StrictEqual(other Value) Value
- func (z *BigFloat) SubBigFloat(x, y *BigFloat) *BigFloat
- func (f *BigFloat) Subtract(other Value) (Value, Value)
- func (f *BigFloat) ToBigInt() *BigInt
- func (f *BigFloat) ToFloat() Float
- func (f *BigFloat) ToFloat32() Float32
- func (f *BigFloat) ToFloat64() Float64
- func (f *BigFloat) ToGoBigFloat() *big.Float
- func (f *BigFloat) ToInt() Value
- func (f *BigFloat) ToInt16() Int16
- func (f *BigFloat) ToInt32() Int32
- func (f *BigFloat) ToInt64() Int64
- func (f *BigFloat) ToInt8() Int8
- func (f *BigFloat) ToUInt16() UInt16
- func (f *BigFloat) ToUInt32() UInt32
- func (f *BigFloat) ToUInt64() UInt64
- func (f *BigFloat) ToUInt8() UInt8
- type BigFloatErrNaN
- type BigInt
- func (i *BigInt) Add(other Value) (Value, Value)
- func (i *BigInt) BitSize() int
- func (i *BigInt) BitwiseAnd(other Value) (Value, Value)
- func (i *BigInt) BitwiseAndNot(other Value) (Value, Value)
- func (i *BigInt) BitwiseNot() *BigInt
- func (i *BigInt) BitwiseOr(other Value) (Value, Value)
- func (i *BigInt) BitwiseXor(other Value) (Value, Value)
- func (*BigInt) Class() *Class
- func (x *BigInt) Cmp(y *BigInt) int
- func (i *BigInt) Compare(other Value) (Value, Value)
- func (i *BigInt) Copy() Reference
- func (i *BigInt) Days() Duration
- func (i *BigInt) Decrement() Value
- func (*BigInt) DirectClass() *Class
- func (i *BigInt) Divide(other Value) (Value, Value)
- func (i *BigInt) Equal(other Value) Value
- func (i *BigInt) EqualBool(other Value) bool
- func (i *BigInt) Error() string
- func (i *BigInt) Exponentiate(other Value) (Value, Value)
- func (i *BigInt) GreaterThan(other Value) (Value, Value)
- func (i *BigInt) GreaterThanBool(other Value) (bool, Value)
- func (i *BigInt) GreaterThanEqual(other Value) (Value, Value)
- func (i *BigInt) GreaterThanEqualBool(other Value) (bool, Value)
- func (i *BigInt) Hash() UInt64
- func (i *BigInt) Hours() Duration
- func (i *BigInt) Increment() *BigInt
- func (i *BigInt) Inspect() string
- func (i *BigInt) InstanceVariables() SymbolMap
- func (i *BigInt) IsSmallInt() bool
- func (i *BigInt) IsZero() bool
- func (i *BigInt) LaxEqual(other Value) Value
- func (i *BigInt) LeftBitshift(other Value) (Value, Value)
- func (i *BigInt) LessThan(other Value) (Value, Value)
- func (i *BigInt) LessThanBool(other Value) (bool, Value)
- func (i *BigInt) LessThanEqual(other Value) (Value, Value)
- func (i *BigInt) LessThanEqualBool(other Value) (bool, Value)
- func (i *BigInt) Microseconds() Duration
- func (i *BigInt) Milliseconds() Duration
- func (i *BigInt) Minutes() Duration
- func (i *BigInt) Modulo(other Value) (Value, Value)
- func (i *BigInt) Multiply(other Value) (Value, Value)
- func (i *BigInt) Nanoseconds() Duration
- func (i *BigInt) Negate() *BigInt
- func (i *BigInt) RightBitshift(other Value) (Value, Value)
- func (i *BigInt) Seconds() Duration
- func (*BigInt) SingletonClass() *Class
- func (i *BigInt) StrictEqual(other Value) Value
- func (i *BigInt) Subtract(other Value) (Value, Value)
- func (i *BigInt) ToFloat() Float
- func (i *BigInt) ToFloat32() Float32
- func (i *BigInt) ToFloat64() Float64
- func (i *BigInt) ToGoBigInt() *big.Int
- func (i *BigInt) ToInt16() Int16
- func (i *BigInt) ToInt32() Int32
- func (i *BigInt) ToInt64() Int64
- func (i *BigInt) ToInt8() Int8
- func (i *BigInt) ToSmallInt() SmallInt
- func (i *BigInt) ToString() String
- func (i *BigInt) ToUInt16() UInt16
- func (i *BigInt) ToUInt32() UInt32
- func (i *BigInt) ToUInt64() UInt64
- func (i *BigInt) ToUInt8() UInt8
- func (i *BigInt) Weeks() Duration
- func (i *BigInt) Years() Duration
- type CallCache
- type CallSiteInfo
- type Char
- func (c Char) ByteCount() int
- func (Char) CharCount() int
- func (Char) Class() *Class
- func (x Char) Cmp(y Char) int
- func (c Char) Compare(other Value) (Value, Value)
- func (c Char) Concat(other Value) (String, Value)
- func (Char) DirectClass() *Class
- func (c Char) Equal(other Value) Value
- func (c Char) Error() string
- func (Char) GraphemeCount() int
- func (c Char) GreaterThan(other Value) (Value, Value)
- func (c Char) GreaterThanEqual(other Value) (Value, Value)
- func (c Char) Hash() UInt64
- func (c Char) Inspect() string
- func (Char) InstanceVariables() SymbolMap
- func (c Char) LaxEqual(other Value) Value
- func (c Char) LessThan(other Value) (Value, Value)
- func (c Char) LessThanEqual(other Value) (Value, Value)
- func (c Char) Lowercase() Char
- func (c Char) Repeat(other Value) (String, Value)
- func (c Char) Rune() rune
- func (Char) SingletonClass() *Class
- func (c Char) StrictEqual(other Value) Value
- func (c Char) ToValue() Value
- func (c Char) Uppercase() Char
- type Class
- func (c *Class) Class() *Class
- func (c *Class) Copy() Reference
- func (c *Class) CreateInstance() Value
- func (c *Class) DirectClass() *Class
- func (c *Class) Doc() Value
- func (c *Class) Error() string
- func (c *Class) IncludeMixin(mixin *Mixin)
- func (c *Class) Inspect() string
- func (c *Class) InspectInheritance() string
- func (c *Class) InspectParents() string
- func (c *Class) InstanceVariables() SymbolMap
- func (c *Class) IsMixin() bool
- func (c *Class) IsMixinProxy() bool
- func (c *Class) IsSingleton() bool
- func (c *Class) Parents() iter.Seq[*Class]
- func (c *Class) SetDirectClass(metaClass *Class)
- func (c *Class) SetDoc(doc String)
- func (c *Class) SetMixin()
- func (c *Class) SetMixinProxy()
- func (c *Class) SetSingleton()
- func (c *Class) SetSingletonName(name string)
- func (c *Class) SingletonClass() *Class
- type ClassOption
- func ClassWithConstants(constants SymbolMap) ClassOption
- func ClassWithConstructor(constructor ConstructorFunc) ClassOption
- func ClassWithMetaClass(metaClass *Class) ClassOption
- func ClassWithMethods(methods MethodMap) ClassOption
- func ClassWithMixin() ClassOption
- func ClassWithMixinProxy() ClassOption
- func ClassWithName(name string) ClassOption
- func ClassWithParent(parent *Class) ClassOption
- func ClassWithSingleton() ClassOption
- type ClosedRange
- type ClosedRangeIterator
- func (*ClosedRangeIterator) Class() *Class
- func (r *ClosedRangeIterator) Copy() Reference
- func (*ClosedRangeIterator) DirectClass() *Class
- func (r *ClosedRangeIterator) Error() string
- func (r *ClosedRangeIterator) Inspect() string
- func (*ClosedRangeIterator) InstanceVariables() SymbolMap
- func (*ClosedRangeIterator) SingletonClass() *Class
- type ConstantContainer
- type ConstructorFunc
- type Duration
- func (d Duration) Add(other Duration) Duration
- func (Duration) Class() *Class
- func (d Duration) Copy() Reference
- func (d Duration) Days() Value
- func (Duration) DirectClass() *Class
- func (d Duration) Divide(other Value) (Duration, Value)
- func (d Duration) Error() string
- func (d Duration) Go() time.Duration
- func (d Duration) Hours() Value
- func (d Duration) InDays() Float
- func (d Duration) InHours() Float
- func (d Duration) InMicroseconds() Float
- func (d Duration) InMilliseconds() Float
- func (d Duration) InMinutes() Float
- func (d Duration) InNanoseconds() Float
- func (d Duration) InSeconds() Float
- func (d Duration) InWeeks() Float
- func (d Duration) InYears() Float
- func (d Duration) Inspect() string
- func (Duration) InstanceVariables() SymbolMap
- func (d Duration) Microseconds() Value
- func (d Duration) Milliseconds() Value
- func (d Duration) Minutes() Value
- func (d Duration) Multiply(other Value) (Duration, Value)
- func (d Duration) Nanoseconds() Value
- func (d Duration) Seconds() Value
- func (Duration) SingletonClass() *Class
- func (d Duration) String() string
- func (d Duration) Subtract(other Duration) Duration
- func (d Duration) ToString() String
- func (d Duration) ToValue() Value
- func (d Duration) Weeks() Value
- func (d Duration) Years() Value
- type EndlessClosedRange
- func (*EndlessClosedRange) Class() *Class
- func (r *EndlessClosedRange) Copy() Reference
- func (*EndlessClosedRange) DirectClass() *Class
- func (r *EndlessClosedRange) Error() string
- func (r *EndlessClosedRange) Inspect() string
- func (r *EndlessClosedRange) InstanceVariables() SymbolMap
- func (*EndlessClosedRange) SingletonClass() *Class
- type EndlessClosedRangeIterator
- func (*EndlessClosedRangeIterator) Class() *Class
- func (r *EndlessClosedRangeIterator) Copy() Reference
- func (*EndlessClosedRangeIterator) DirectClass() *Class
- func (r *EndlessClosedRangeIterator) Error() string
- func (r *EndlessClosedRangeIterator) Inspect() string
- func (*EndlessClosedRangeIterator) InstanceVariables() SymbolMap
- func (*EndlessClosedRangeIterator) SingletonClass() *Class
- type EndlessOpenRange
- func (*EndlessOpenRange) Class() *Class
- func (r *EndlessOpenRange) Copy() Reference
- func (*EndlessOpenRange) DirectClass() *Class
- func (r *EndlessOpenRange) Error() string
- func (r *EndlessOpenRange) Inspect() string
- func (r *EndlessOpenRange) InstanceVariables() SymbolMap
- func (*EndlessOpenRange) SingletonClass() *Class
- type EndlessOpenRangeIterator
- func (*EndlessOpenRangeIterator) Class() *Class
- func (r *EndlessOpenRangeIterator) Copy() Reference
- func (*EndlessOpenRangeIterator) DirectClass() *Class
- func (r *EndlessOpenRangeIterator) Error() string
- func (r *EndlessOpenRangeIterator) Inspect() string
- func (*EndlessOpenRangeIterator) InstanceVariables() SymbolMap
- func (*EndlessOpenRangeIterator) SingletonClass() *Class
- type FalseType
- type Float
- func (f Float) Add(other Value) (result, err Value)
- func (Float) Class() *Class
- func (x Float) Cmp(y Float) int
- func (f Float) Compare(other Value) (result, err Value)
- func (f Float) Days() Duration
- func (Float) DirectClass() *Class
- func (f Float) Divide(other Value) (result, err Value)
- func (f Float) Equal(other Value) Value
- func (f Float) Error() string
- func (f Float) Exponentiate(other Value) (result, err Value)
- func (f Float) GreaterThan(other Value) (result, err Value)
- func (f Float) GreaterThanEqual(other Value) (result, err Value)
- func (f Float) Hash() UInt64
- func (f Float) Hours() Duration
- func (f Float) Inspect() string
- func (f Float) InstanceVariables() SymbolMap
- func (f Float) IsInf(sign int) bool
- func (f Float) IsInt() bool
- func (f Float) IsNaN() bool
- func (f Float) LaxEqual(other Value) Value
- func (f Float) LessThan(other Value) (result, err Value)
- func (f Float) LessThanEqual(other Value) (result, err Value)
- func (f Float) Microseconds() Duration
- func (f Float) Milliseconds() Duration
- func (f Float) Minutes() Duration
- func (a Float) Mod(b Float) Float
- func (f Float) Modulo(other Value) (result, err Value)
- func (f Float) Multiply(other Value) (result, err Value)
- func (f Float) Nanoseconds() Duration
- func (f Float) Seconds() Duration
- func (Float) SingletonClass() *Class
- func (f Float) StrictEqual(other Value) Value
- func (f Float) Subtract(other Value) (result, err Value)
- func (f Float) ToFloat32() Float32
- func (f Float) ToFloat64() Float64
- func (f Float) ToInt() Value
- func (f Float) ToInt16() Int16
- func (f Float) ToInt32() Int32
- func (f Float) ToInt64() Int64
- func (f Float) ToInt8() Int8
- func (f Float) ToString() String
- func (f Float) ToUInt16() UInt16
- func (f Float) ToUInt32() UInt32
- func (f Float) ToUInt64() UInt64
- func (f Float) ToUInt8() UInt8
- func (f Float) ToValue() Value
- func (f Float) Weeks() Duration
- func (f Float) Years() Duration
- type Float32
- func (f Float32) Add(other Value) (Float32, Value)
- func (Float32) Class() *Class
- func (f Float32) Compare(other Value) (Value, Value)
- func (Float32) DirectClass() *Class
- func (f Float32) Divide(other Value) (Float32, Value)
- func (f Float32) Equal(other Value) Value
- func (f Float32) Error() string
- func (f Float32) Exponentiate(other Value) (Float32, Value)
- func (f Float32) GreaterThan(other Value) (Value, Value)
- func (f Float32) GreaterThanEqual(other Value) (Value, Value)
- func (f Float32) Hash() UInt64
- func (f Float32) Inspect() string
- func (f Float32) InstanceVariables() SymbolMap
- func (f Float32) IsInf(sign int) bool
- func (f Float32) IsNaN() bool
- func (f Float32) LessThan(other Value) (Value, Value)
- func (f Float32) LessThanEqual(other Value) (Value, Value)
- func (f Float32) Modulo(other Value) (Float32, Value)
- func (f Float32) Multiply(other Value) (Float32, Value)
- func (Float32) SingletonClass() *Class
- func (f Float32) StrictEqual(other Value) Value
- func (f Float32) Subtract(other Value) (Float32, Value)
- func (f Float32) ToString() String
- func (f Float32) ToValue() Value
- type Float64
- func (f Float64) Add(other Value) (Float64, Value)
- func (Float64) Class() *Class
- func (f Float64) Compare(other Value) (Value, Value)
- func (f Float64) Copy() Reference
- func (Float64) DirectClass() *Class
- func (f Float64) Divide(other Value) (Float64, Value)
- func (f Float64) Equal(other Value) Value
- func (f Float64) Error() string
- func (f Float64) Exponentiate(other Value) (Float64, Value)
- func (f Float64) GreaterThan(other Value) (Value, Value)
- func (f Float64) GreaterThanEqual(other Value) (Value, Value)
- func (f Float64) Hash() UInt64
- func (f Float64) Inspect() string
- func (f Float64) InstanceVariables() SymbolMap
- func (f Float64) IsInf(sign int) bool
- func (f Float64) IsNaN() bool
- func (f Float64) LessThan(other Value) (Value, Value)
- func (f Float64) LessThanEqual(other Value) (Value, Value)
- func (f Float64) Modulo(other Value) (Float64, Value)
- func (f Float64) Multiply(other Value) (Float64, Value)
- func (Float64) SingletonClass() *Class
- func (f Float64) StrictEqual(other Value) Value
- func (f Float64) Subtract(other Value) (Float64, Value)
- func (f Float64) ToString() String
- func (f Float64) ToValue() Value
- type Function
- type GlobalObjectType
- func (GlobalObjectType) Class() *Class
- func (g GlobalObjectType) Copy() Reference
- func (GlobalObjectType) DirectClass() *Class
- func (g GlobalObjectType) Error() string
- func (GlobalObjectType) Inspect() string
- func (GlobalObjectType) InstanceVariables() SymbolMap
- func (GlobalObjectType) SingletonClass() *Class
- type HashMap
- func (h *HashMap) Capacity() int
- func (*HashMap) Class() *Class
- func (h *HashMap) Clone() *HashMap
- func (h *HashMap) Copy() Reference
- func (*HashMap) DirectClass() *Class
- func (h *HashMap) Error() string
- func (h *HashMap) Inspect() string
- func (*HashMap) InstanceVariables() SymbolMap
- func (h *HashMap) LeftCapacity() int
- func (h *HashMap) Length() int
- func (*HashMap) SingletonClass() *Class
- type HashMapIterator
- func (*HashMapIterator) Class() *Class
- func (h *HashMapIterator) Copy() Reference
- func (*HashMapIterator) DirectClass() *Class
- func (h *HashMapIterator) Error() string
- func (h *HashMapIterator) Inspect() string
- func (*HashMapIterator) InstanceVariables() SymbolMap
- func (h *HashMapIterator) Next() (Value, Value)
- func (*HashMapIterator) SingletonClass() *Class
- type HashRecord
- func (*HashRecord) Class() *Class
- func (h *HashRecord) Copy() Reference
- func (*HashRecord) DirectClass() *Class
- func (h *HashRecord) Error() string
- func (h *HashRecord) Inspect() string
- func (*HashRecord) InstanceVariables() SymbolMap
- func (h *HashRecord) Length() int
- func (*HashRecord) SingletonClass() *Class
- type HashRecordIterator
- func (*HashRecordIterator) Class() *Class
- func (h *HashRecordIterator) Copy() Reference
- func (*HashRecordIterator) DirectClass() *Class
- func (h *HashRecordIterator) Error() string
- func (h *HashRecordIterator) Inspect() string
- func (*HashRecordIterator) InstanceVariables() SymbolMap
- func (h *HashRecordIterator) Next() (Value, Value)
- func (*HashRecordIterator) SingletonClass() *Class
- type HashSet
- func (h *HashSet) Capacity() int
- func (*HashSet) Class() *Class
- func (h *HashSet) Copy() Reference
- func (*HashSet) DirectClass() *Class
- func (h *HashSet) Error() string
- func (h *HashSet) Inspect() string
- func (*HashSet) InstanceVariables() SymbolMap
- func (h *HashSet) LeftCapacity() int
- func (h *HashSet) Length() int
- func (*HashSet) SingletonClass() *Class
- type HashSetIterator
- func (*HashSetIterator) Class() *Class
- func (h *HashSetIterator) Copy() Reference
- func (*HashSetIterator) DirectClass() *Class
- func (h *HashSetIterator) Error() string
- func (h *HashSetIterator) Inspect() string
- func (*HashSetIterator) InstanceVariables() SymbolMap
- func (h *HashSetIterator) Next() (Value, Value)
- func (*HashSetIterator) SingletonClass() *Class
- type Inspectable
- type Int16
- func (i Int16) Add(other Value) (Int16, Value)
- func (i Int16) BitwiseAnd(other Value) (Int16, Value)
- func (i Int16) BitwiseAndNot(other Value) (Int16, Value)
- func (i Int16) BitwiseOr(other Value) (Int16, Value)
- func (i Int16) BitwiseXor(other Value) (Int16, Value)
- func (i Int16) Class() *Class
- func (i Int16) Compare(other Value) (Value, Value)
- func (Int16) DirectClass() *Class
- func (i Int16) Divide(other Value) (Int16, Value)
- func (i Int16) Equal(other Value) Value
- func (i Int16) Error() string
- func (i Int16) Exponentiate(other Value) (Int16, Value)
- func (i Int16) GreaterThan(other Value) (Value, Value)
- func (i Int16) GreaterThanEqual(other Value) (Value, Value)
- func (i Int16) Hash() UInt64
- func (i Int16) Inspect() string
- func (i Int16) InstanceVariables() SymbolMap
- func (i Int16) LessThan(other Value) (Value, Value)
- func (i Int16) LessThanEqual(other Value) (Value, Value)
- func (i Int16) Modulo(other Value) (Int16, Value)
- func (i Int16) Multiply(other Value) (Int16, Value)
- func (Int16) SingletonClass() *Class
- func (i Int16) StrictEqual(other Value) Value
- func (i Int16) Subtract(other Value) (Int16, Value)
- func (i Int16) ToFloat() Float
- func (i Int16) ToFloat32() Float32
- func (i Int16) ToFloat64() Float64
- func (i Int16) ToInt32() Int32
- func (i Int16) ToInt64() Int64
- func (i Int16) ToSmallInt() SmallInt
- func (i Int16) ToString() String
- func (i Int16) ToUInt16() UInt16
- func (i Int16) ToUInt32() UInt32
- func (i Int16) ToUInt64() UInt64
- func (i Int16) ToUInt8() UInt8
- func (i Int16) ToValue() Value
- type Int32
- func (i Int32) Add(other Value) (Int32, Value)
- func (i Int32) BitwiseAnd(other Value) (Int32, Value)
- func (i Int32) BitwiseAndNot(other Value) (Int32, Value)
- func (i Int32) BitwiseOr(other Value) (Int32, Value)
- func (i Int32) BitwiseXor(other Value) (Int32, Value)
- func (i Int32) Class() *Class
- func (i Int32) Compare(other Value) (Value, Value)
- func (Int32) DirectClass() *Class
- func (i Int32) Divide(other Value) (Int32, Value)
- func (i Int32) Equal(other Value) Value
- func (i Int32) Error() string
- func (i Int32) Exponentiate(other Value) (Int32, Value)
- func (i Int32) GreaterThan(other Value) (Value, Value)
- func (i Int32) GreaterThanEqual(other Value) (Value, Value)
- func (i Int32) Hash() UInt64
- func (i Int32) Inspect() string
- func (i Int32) InstanceVariables() SymbolMap
- func (i Int32) LessThan(other Value) (Value, Value)
- func (i Int32) LessThanEqual(other Value) (Value, Value)
- func (i Int32) Modulo(other Value) (Int32, Value)
- func (i Int32) Multiply(other Value) (Int32, Value)
- func (Int32) SingletonClass() *Class
- func (i Int32) StrictEqual(other Value) Value
- func (i Int32) Subtract(other Value) (Int32, Value)
- func (i Int32) ToFloat() Float
- func (i Int32) ToFloat32() Float32
- func (i Int32) ToFloat64() Float64
- func (i Int32) ToInt16() Int16
- func (i Int32) ToInt32() Int32
- func (i Int32) ToInt8() Int8
- func (i Int32) ToSmallInt() SmallInt
- func (i Int32) ToString() String
- func (i Int32) ToUInt16() UInt16
- func (i Int32) ToUInt32() UInt32
- func (i Int32) ToUInt64() UInt64
- func (i Int32) ToUInt8() UInt8
- func (i Int32) ToValue() Value
- type Int64
- func (i Int64) Add(other Value) (Int64, Value)
- func (i Int64) BitwiseAnd(other Value) (Int64, Value)
- func (i Int64) BitwiseAndNot(other Value) (Int64, Value)
- func (i Int64) BitwiseOr(other Value) (Int64, Value)
- func (i Int64) BitwiseXor(other Value) (Int64, Value)
- func (i Int64) Class() *Class
- func (i Int64) Compare(other Value) (Value, Value)
- func (i Int64) Copy() Reference
- func (Int64) DirectClass() *Class
- func (i Int64) Divide(other Value) (Int64, Value)
- func (i Int64) Equal(other Value) Value
- func (i Int64) Error() string
- func (i Int64) Exponentiate(other Value) (Int64, Value)
- func (i Int64) GreaterThan(other Value) (Value, Value)
- func (i Int64) GreaterThanEqual(other Value) (Value, Value)
- func (i Int64) Hash() UInt64
- func (i Int64) Inspect() string
- func (i Int64) InstanceVariables() SymbolMap
- func (i Int64) LessThan(other Value) (Value, Value)
- func (i Int64) LessThanEqual(other Value) (Value, Value)
- func (i Int64) Modulo(other Value) (Int64, Value)
- func (i Int64) Multiply(other Value) (Int64, Value)
- func (Int64) SingletonClass() *Class
- func (i Int64) StrictEqual(other Value) Value
- func (i Int64) Subtract(other Value) (Int64, Value)
- func (i Int64) ToFloat() Float
- func (i Int64) ToFloat32() Float32
- func (i Int64) ToFloat64() Float64
- func (i Int64) ToInt16() Int16
- func (i Int64) ToInt32() Int32
- func (i Int64) ToInt8() Int8
- func (i Int64) ToSmallInt() SmallInt
- func (i Int64) ToString() String
- func (i Int64) ToUInt16() UInt16
- func (i Int64) ToUInt32() UInt32
- func (i Int64) ToUInt64() UInt64
- func (i Int64) ToUInt8() UInt8
- func (i Int64) ToValue() Value
- type Int8
- func (i Int8) Add(other Value) (Int8, Value)
- func (i Int8) BitwiseAnd(other Value) (Int8, Value)
- func (i Int8) BitwiseAndNot(other Value) (Int8, Value)
- func (i Int8) BitwiseOr(other Value) (Int8, Value)
- func (i Int8) BitwiseXor(other Value) (Int8, Value)
- func (i Int8) Class() *Class
- func (i Int8) Compare(other Value) (Value, Value)
- func (Int8) DirectClass() *Class
- func (i Int8) Divide(other Value) (Int8, Value)
- func (i Int8) Equal(other Value) Value
- func (i Int8) Error() string
- func (i Int8) Exponentiate(other Value) (Int8, Value)
- func (i Int8) GreaterThan(other Value) (Value, Value)
- func (i Int8) GreaterThanEqual(other Value) (Value, Value)
- func (i Int8) Hash() UInt64
- func (i Int8) Inspect() string
- func (i Int8) InstanceVariables() SymbolMap
- func (i Int8) LessThan(other Value) (Value, Value)
- func (i Int8) LessThanEqual(other Value) (Value, Value)
- func (i Int8) Modulo(other Value) (Int8, Value)
- func (i Int8) Multiply(other Value) (Int8, Value)
- func (Int8) SingletonClass() *Class
- func (i Int8) StrictEqual(other Value) Value
- func (i Int8) Subtract(other Value) (Int8, Value)
- func (i Int8) ToFloat() Float
- func (i Int8) ToFloat32() Float32
- func (i Int8) ToFloat64() Float64
- func (i Int8) ToInt16() Int16
- func (i Int8) ToInt32() Int32
- func (i Int8) ToInt64() Int64
- func (i Int8) ToInt8() Int8
- func (i Int8) ToSmallInt() SmallInt
- func (i Int8) ToString() String
- func (i Int8) ToUInt16() UInt16
- func (i Int8) ToUInt32() UInt32
- func (i Int8) ToUInt64() UInt64
- func (i Int8) ToUInt8() UInt8
- func (i Int8) ToValue() Value
- type Interface
- type InterfaceOption
- type LeftOpenRange
- func (*LeftOpenRange) Class() *Class
- func (r *LeftOpenRange) Copy() Reference
- func (*LeftOpenRange) DirectClass() *Class
- func (r *LeftOpenRange) Error() string
- func (r *LeftOpenRange) Inspect() string
- func (r *LeftOpenRange) InstanceVariables() SymbolMap
- func (*LeftOpenRange) SingletonClass() *Class
- type LeftOpenRangeIterator
- func (*LeftOpenRangeIterator) Class() *Class
- func (r *LeftOpenRangeIterator) Copy() Reference
- func (*LeftOpenRangeIterator) DirectClass() *Class
- func (r *LeftOpenRangeIterator) Error() string
- func (r *LeftOpenRangeIterator) Inspect() string
- func (*LeftOpenRangeIterator) InstanceVariables() SymbolMap
- func (*LeftOpenRangeIterator) SingletonClass() *Class
- type Method
- type MethodContainer
- func (m *MethodContainer) AttachMethod(name Symbol, method Method)
- func (m *MethodContainer) DefineAlias(newMethodName, oldMethodName Symbol)
- func (m *MethodContainer) DefineAliasString(newMethodName, oldMethodName string)
- func (m *MethodContainer) LookupMethod(name Symbol) Method
- func (m *MethodContainer) Superclass() *Class
- type MethodMap
- type Mixin
- type MixinOption
- type Module
- func (m *Module) Class() *Class
- func (m *Module) Copy() Reference
- func (m *Module) DirectClass() *Class
- func (m *Module) Error() string
- func (m *Module) Inspect() string
- func (m *Module) InstanceVariables() SymbolMap
- func (m *Module) SetDirectClass(class *Class)
- func (m *Module) SingletonClass() *Class
- type ModuleOption
- type NilType
- func (NilType) Class() *Class
- func (NilType) DirectClass() *Class
- func (n NilType) Error() string
- func (NilType) Hash() UInt64
- func (NilType) Inspect() string
- func (NilType) InstanceVariables() SymbolMap
- func (NilType) SingletonClass() *Class
- func (NilType) ToString() String
- func (n NilType) ToValue() Value
- type Object
- func Errorf(class *Class, format string, a ...any) *Object
- func NewArgumentTypeError(argName, given, expected string) *Object
- func NewBigFloatPrecisionError(precision string) *Object
- func NewBitshiftOperandError(other Value) *Object
- func NewCantAccessInstanceVariablesOnPrimitiveError(value string) *Object
- func NewCantSetInstanceVariablesOnPrimitiveError(value string) *Object
- func NewCapacityTypeError(val string) *Object
- func NewCoerceError(target, other *Class) *Object
- func NewDuplicatedArgumentError(methodName, paramName string) *Object
- func NewError(class *Class, message string) *Object
- func NewIndexOutOfRangeError(index string, length int) *Object
- func NewInvalidSuperclassError(superclass string) *Object
- func NewIsNotClassError(value string) *Object
- func NewIsNotClassOrMixinError(value string) *Object
- func NewIsNotMixinError(value string) *Object
- func NewModifierMismatchError(object, modifier string, with bool) *Object
- func NewNegativeCapacityError(capacity string) *Object
- func NewNegativeIndicesInCollectionLiteralsError(index string) *Object
- func NewNoMethodError(methodName string, receiver Value) *Object
- func NewObject(opts ...ObjectOption) *Object
- func NewRedefinedConstantError(module, symbol string) *Object
- func NewRequiredArgumentMissingError(methodName, paramName string) *Object
- func NewSingletonError(given string) *Object
- func NewSuperclassMismatchError(class, wantSuperclass, gotSuperclass string) *Object
- func NewTooLargeCapacityError(capacity string) *Object
- func NewUnexpectedNilError() *Object
- func NewUnknownArgumentsError(method string, names []Symbol) *Object
- func NewWrongArgumentCountError(method string, given, expected int) *Object
- func NewWrongArgumentCountRangeError(method string, given, expectedFrom, expectedTo int) *Object
- func NewWrongArgumentCountRestError(method string, given, expectedFrom int) *Object
- func NewWrongPositionalArgumentCountError(method string, given, expectedFrom int) *Object
- func NewZeroDivisionError() *Object
- func (o *Object) Class() *Class
- func (o *Object) Copy() Reference
- func (o *Object) DirectClass() *Class
- func (e *Object) Error() string
- func (o *Object) Inspect() string
- func (o *Object) InstanceVariables() SymbolMap
- func (e *Object) Message() Value
- func (e *Object) SetMessage(message string)
- func (o *Object) SingletonClass() *Class
- type ObjectOption
- type OpenRange
- type OpenRangeIterator
- func (*OpenRangeIterator) Class() *Class
- func (r *OpenRangeIterator) Copy() Reference
- func (*OpenRangeIterator) DirectClass() *Class
- func (r *OpenRangeIterator) Error() string
- func (r *OpenRangeIterator) Inspect() string
- func (*OpenRangeIterator) InstanceVariables() SymbolMap
- func (*OpenRangeIterator) SingletonClass() *Class
- type Pair
- func (*Pair) Class() *Class
- func (p *Pair) Copy() Reference
- func (*Pair) DirectClass() *Class
- func (p *Pair) Error() string
- func (p *Pair) Get(index int) (Value, Value)
- func (p *Pair) Inspect() string
- func (*Pair) InstanceVariables() SymbolMap
- func (*Pair) Length() int
- func (p *Pair) Set(index int, val Value) Value
- func (*Pair) SingletonClass() *Class
- func (p *Pair) Subscript(key Value) (Value, Value)
- func (p *Pair) SubscriptSet(key, val Value) Value
- type PairIterator
- func (*PairIterator) Class() *Class
- func (l *PairIterator) Copy() Reference
- func (*PairIterator) DirectClass() *Class
- func (l *PairIterator) Error() string
- func (l *PairIterator) Inspect() string
- func (*PairIterator) InstanceVariables() SymbolMap
- func (l *PairIterator) Next() (Value, Value)
- func (*PairIterator) SingletonClass() *Class
- type Reference
- type Regex
- func (*Regex) Class() *Class
- func (r *Regex) Concat(other Value) (Value, Value)
- func (r *Regex) Copy() Reference
- func (*Regex) DirectClass() *Class
- func (r *Regex) Equal(other Value) Value
- func (r *Regex) Error() string
- func (r *Regex) Hash() UInt64
- func (r *Regex) Inspect() string
- func (r *Regex) InstanceVariables() SymbolMap
- func (r *Regex) LaxEqual(other Value) Value
- func (r *Regex) Matches(other Value) (Value, Value)
- func (r *Regex) Repeat(other Value) (Value, Value)
- func (*Regex) SingletonClass() *Class
- func (r *Regex) String() string
- func (r *Regex) ToString() String
- func (r *Regex) ToStringWithFlags() String
- func (r *Regex) WriteSourceTo(w io.StringWriter)
- type RightOpenRange
- func (*RightOpenRange) Class() *Class
- func (r *RightOpenRange) Copy() Reference
- func (*RightOpenRange) DirectClass() *Class
- func (r *RightOpenRange) Error() string
- func (r *RightOpenRange) Inspect() string
- func (r *RightOpenRange) InstanceVariables() SymbolMap
- func (*RightOpenRange) SingletonClass() *Class
- type RightOpenRangeIterator
- func (*RightOpenRangeIterator) Class() *Class
- func (r *RightOpenRangeIterator) Copy() Reference
- func (*RightOpenRangeIterator) DirectClass() *Class
- func (r *RightOpenRangeIterator) Error() string
- func (r *RightOpenRangeIterator) Inspect() string
- func (*RightOpenRangeIterator) InstanceVariables() SymbolMap
- func (*RightOpenRangeIterator) SingletonClass() *Class
- type SimpleInt
- type SingedInt
- type SmallInt
- func (i SmallInt) Add(other Value) (Value, Value)
- func (a SmallInt) AddOverflow(b SmallInt) (result SmallInt, ok bool)
- func (i SmallInt) BitwiseAnd(other Value) (Value, Value)
- func (i SmallInt) BitwiseAndNot(other Value) (Value, Value)
- func (i SmallInt) BitwiseNot() SmallInt
- func (i SmallInt) BitwiseOr(other Value) (Value, Value)
- func (i SmallInt) BitwiseXor(other Value) (Value, Value)
- func (SmallInt) Class() *Class
- func (x SmallInt) Cmp(y SmallInt) int
- func (i SmallInt) Compare(other Value) (Value, Value)
- func (i SmallInt) Days() Duration
- func (i SmallInt) Decrement() Value
- func (SmallInt) DirectClass() *Class
- func (i SmallInt) Divide(other Value) (Value, Value)
- func (a SmallInt) DivideOverflow(b SmallInt) (result SmallInt, ok bool)
- func (i SmallInt) Equal(other Value) Value
- func (i SmallInt) Error() string
- func (i SmallInt) Exponentiate(other Value) (Value, Value)
- func (i SmallInt) GreaterThan(other Value) (Value, Value)
- func (i SmallInt) GreaterThanBool(other Value) (bool, Value)
- func (i SmallInt) GreaterThanEqual(other Value) (Value, Value)
- func (i SmallInt) GreaterThanEqualBool(other Value) (bool, Value)
- func (i SmallInt) Hash() UInt64
- func (i SmallInt) Hours() Duration
- func (i SmallInt) Increment() Value
- func (i SmallInt) Inspect() string
- func (i SmallInt) InstanceVariables() SymbolMap
- func (i SmallInt) LaxEqual(other Value) Value
- func (i SmallInt) LeftBitshift(other Value) (Value, Value)
- func (i SmallInt) LessThan(other Value) (Value, Value)
- func (i SmallInt) LessThanBool(other Value) (bool, Value)
- func (i SmallInt) LessThanEqual(other Value) (Value, Value)
- func (i SmallInt) LessThanEqualBool(other Value) (bool, Value)
- func (i SmallInt) Microseconds() Duration
- func (i SmallInt) Milliseconds() Duration
- func (i SmallInt) Minutes() Duration
- func (i SmallInt) Modulo(other Value) (Value, Value)
- func (i SmallInt) Multiply(other Value) (Value, Value)
- func (a SmallInt) MultiplyOverflow(b SmallInt) (result SmallInt, ok bool)
- func (i SmallInt) Nanoseconds() Duration
- func (i SmallInt) Negate() Value
- func (i SmallInt) RightBitshift(other Value) (Value, Value)
- func (i SmallInt) Seconds() Duration
- func (SmallInt) SingletonClass() *Class
- func (i SmallInt) StrictEqual(other Value) Value
- func (i SmallInt) StrictEqualBool(other Value) bool
- func (i SmallInt) Subtract(other Value) (Value, Value)
- func (a SmallInt) SubtractOverflow(b SmallInt) (result SmallInt, ok bool)
- func (i SmallInt) ToFloat() Float
- func (i SmallInt) ToFloat32() Float32
- func (i SmallInt) ToFloat64() Float64
- func (i SmallInt) ToInt16() Int16
- func (i SmallInt) ToInt32() Int32
- func (i SmallInt) ToInt64() Int64
- func (i SmallInt) ToInt8() Int8
- func (i SmallInt) ToString() String
- func (i SmallInt) ToUInt16() UInt16
- func (i SmallInt) ToUInt32() UInt32
- func (i SmallInt) ToUInt64() UInt64
- func (i SmallInt) ToUInt8() UInt8
- func (i SmallInt) ToValue() Value
- func (i SmallInt) Weeks() Duration
- func (i SmallInt) Years() Duration
- type StrictFloat
- type StrictInt
- type StrictNumeric
- type StrictSignedInt
- type StrictUnsignedInt
- type String
- func (s String) ByteAt(key Value) (UInt8, Value)
- func (s String) ByteAtInt(index int) (UInt8, Value)
- func (s String) ByteCount() int
- func (s String) CharCount() int
- func (s String) Class() *Class
- func (x String) Cmp(y String) int
- func (s String) Compare(other Value) (Value, Value)
- func (s String) Concat(other Value) (result String, err Value)
- func (s String) Copy() Reference
- func (String) DirectClass() *Class
- func (s String) Equal(other Value) Value
- func (s String) Error() string
- func (s String) Get(index int) (Char, Value)
- func (s String) GraphemeAt(key Value) (String, Value)
- func (s String) GraphemeAtInt(index int) (String, Value)
- func (s String) GraphemeCount() int
- func (s String) GreaterThan(other Value) (Value, Value)
- func (s String) GreaterThanEqual(other Value) (Value, Value)
- func (s String) Hash() UInt64
- func (s String) Inspect() string
- func (s String) InstanceVariables() SymbolMap
- func (s String) IsEmpty() bool
- func (s String) LaxEqual(other Value) Value
- func (s String) LessThan(other Value) (Value, Value)
- func (s String) LessThanEqual(other Value) (Value, Value)
- func (s String) Lowercase() String
- func (s String) RemoveSuffix(other Value) (String, Value)
- func (s String) Repeat(other Value) (result String, err Value)
- func (s String) ReverseBytes() String
- func (s String) ReverseChars() String
- func (s String) ReverseGraphemes() String
- func (String) SingletonClass() *Class
- func (s String) StrictEqual(other Value) Value
- func (s String) String() string
- func (s String) Subscript(key Value) (Char, Value)
- func (s String) ToChar() (Char, bool)
- func (s String) ToInt() (Value, Value)
- func (s String) ToSymbol() Symbol
- func (s String) Uppercase() String
- type StringByteIterator
- func (*StringByteIterator) Class() *Class
- func (s *StringByteIterator) Copy() Reference
- func (*StringByteIterator) DirectClass() *Class
- func (s *StringByteIterator) Error() string
- func (s *StringByteIterator) Inspect() string
- func (*StringByteIterator) InstanceVariables() SymbolMap
- func (s *StringByteIterator) Next() (Value, Value)
- func (*StringByteIterator) SingletonClass() *Class
- type StringCharIterator
- func (*StringCharIterator) Class() *Class
- func (s *StringCharIterator) Copy() Reference
- func (*StringCharIterator) DirectClass() *Class
- func (s *StringCharIterator) Error() string
- func (s *StringCharIterator) Inspect() string
- func (*StringCharIterator) InstanceVariables() SymbolMap
- func (s *StringCharIterator) Next() (Value, Value)
- func (*StringCharIterator) SingletonClass() *Class
- type Symbol
- func (Symbol) Class() *Class
- func (Symbol) DirectClass() *Class
- func (s Symbol) Equal(other Value) Value
- func (s Symbol) Error() string
- func (s Symbol) Hash() UInt64
- func (s Symbol) Inspect() string
- func (s Symbol) InspectContent() string
- func (s Symbol) InstanceVariables() SymbolMap
- func (s Symbol) LaxEqual(other Value) Value
- func (Symbol) SingletonClass() *Class
- func (s Symbol) StrictEqual(other Value) Value
- func (s Symbol) String() string
- func (s Symbol) ToString() String
- func (s Symbol) ToValue() Value
- type SymbolMap
- func (SymbolMap) Class() *Class
- func (s SymbolMap) Copy() Reference
- func (s SymbolMap) Delete(key Symbol)
- func (s SymbolMap) DeleteString(key string)
- func (SymbolMap) DirectClass() *Class
- func (s SymbolMap) Error() string
- func (s SymbolMap) Get(key Symbol) Value
- func (s SymbolMap) GetString(key string) (val Value)
- func (s SymbolMap) Has(key Symbol) bool
- func (s SymbolMap) HasString(key string) bool
- func (s SymbolMap) Inspect() string
- func (s SymbolMap) InstanceVariables() SymbolMap
- func (s SymbolMap) Set(key Symbol, val Value)
- func (s SymbolMap) SetString(key string, val Value)
- func (SymbolMap) SingletonClass() *Class
- type SymbolTableOption
- type SymbolTableStruct
- type Time
- func (t *Time) AbbreviatedMonthName() string
- func (t *Time) AbbreviatedWeekdayName() string
- func (t *Time) Add(val Duration) *Time
- func (t *Time) Attosecond() int64
- func (t *Time) Century() int
- func (*Time) Class() *Class
- func (x *Time) Cmp(y *Time) int
- func (t *Time) Copy() Reference
- func (t *Time) Day() int
- func (t *Time) Diff(val *Time) Duration
- func (*Time) DirectClass() *Class
- func (t *Time) Equal(other Value) Value
- func (t *Time) Error() string
- func (t *Time) Femtosecond() int64
- func (t *Time) Format(formatString string) (_ string, err Value)
- func (t *Time) GreaterThan(other Value) (result Value, err Value)
- func (t *Time) GreaterThanEqual(other Value) (result Value, err Value)
- func (t *Time) Hour() int
- func (t *Time) Hour12() int
- func (t *Time) ISOWeek() int
- func (t *Time) ISOYear() int
- func (t *Time) ISOYearLastTwo() int
- func (t *Time) Inspect() string
- func (t *Time) InstanceVariables() SymbolMap
- func (t *Time) IsAM() bool
- func (t *Time) IsFriday() bool
- func (t *Time) IsLocal() bool
- func (t *Time) IsMonday() bool
- func (t *Time) IsPM() bool
- func (t *Time) IsSaturday() bool
- func (t *Time) IsSunday() bool
- func (t *Time) IsThursday() bool
- func (t *Time) IsTuesday() bool
- func (t *Time) IsUTC() bool
- func (t *Time) IsWednesday() bool
- func (t *Time) LaxEqual(other Value) Value
- func (t *Time) LessThan(other Value) (result Value, err Value)
- func (t *Time) LessThanEqual(other Value) (result Value, err Value)
- func (t *Time) Local() *Time
- func (t *Time) Meridiem() string
- func (t *Time) MeridiemLowercase() string
- func (t *Time) Microsecond() int
- func (t *Time) Millisecond() int
- func (t *Time) Minute() int
- func (t *Time) Month() int
- func (t *Time) MonthName() string
- func (t *Time) MustFormat(formatString string) string
- func (t *Time) Nanosecond() int
- func (t *Time) Picosecond() int64
- func (t *Time) Second() int
- func (*Time) SingletonClass() *Class
- func (t *Time) StrictEqual(other Value) Value
- func (t *Time) String() string
- func (t *Time) Subtract(val Duration) *Time
- func (t *Time) ToGoTime() time.Time
- func (t *Time) ToString() String
- func (t *Time) UTC() *Time
- func (t *Time) UnixAttoseconds() *big.Int
- func (t *Time) UnixFemtoseconds() *big.Int
- func (t *Time) UnixMicroseconds() *big.Int
- func (t *Time) UnixMilliseconds() int64
- func (t *Time) UnixNanoseconds() *big.Int
- func (t *Time) UnixPicoseconds() *big.Int
- func (t *Time) UnixSeconds() int64
- func (t *Time) UnixYoctoseconds() *big.Int
- func (t *Time) UnixZeptoseconds() *big.Int
- func (t *Time) WeekFromMonday() int
- func (t *Time) WeekFromSunday() int
- func (t *Time) WeekdayFromMonday() int
- func (t *Time) WeekdayFromSunday() int
- func (t *Time) WeekdayName() string
- func (t *Time) Year() int
- func (t *Time) YearDay() int
- func (t *Time) YearLastTwo() int
- func (t *Time) Yoctosecond() *big.Int
- func (t *Time) Zeptosecond() *big.Int
- func (t *Time) Zone() *Timezone
- func (t *Time) ZoneAbbreviatedName() string
- func (t *Time) ZoneName() string
- func (t *Time) ZoneOffsetHourMinutes() int
- func (t *Time) ZoneOffsetHours() int
- func (t *Time) ZoneOffsetSeconds() int
- type Timezone
- func (*Timezone) Class() *Class
- func (t *Timezone) Copy() Reference
- func (*Timezone) DirectClass() *Class
- func (t *Timezone) Error() string
- func (t *Timezone) Inspect() string
- func (t *Timezone) InstanceVariables() SymbolMap
- func (t *Timezone) IsLocal() bool
- func (t *Timezone) IsUTC() bool
- func (t *Timezone) Name() string
- func (*Timezone) SingletonClass() *Class
- func (t *Timezone) ToGoLocation() *time.Location
- type ToValuer
- type TrueType
- type UInt16
- func (i UInt16) Add(other Value) (UInt16, Value)
- func (i UInt16) BitwiseAnd(other Value) (UInt16, Value)
- func (i UInt16) BitwiseAndNot(other Value) (UInt16, Value)
- func (i UInt16) BitwiseOr(other Value) (UInt16, Value)
- func (i UInt16) BitwiseXor(other Value) (UInt16, Value)
- func (UInt16) Class() *Class
- func (i UInt16) Compare(other Value) (Value, Value)
- func (UInt16) DirectClass() *Class
- func (i UInt16) Divide(other Value) (UInt16, Value)
- func (i UInt16) Equal(other Value) Value
- func (i UInt16) Error() string
- func (i UInt16) Exponentiate(other Value) (UInt16, Value)
- func (i UInt16) GreaterThan(other Value) (Value, Value)
- func (i UInt16) GreaterThanEqual(other Value) (Value, Value)
- func (i UInt16) Hash() UInt64
- func (i UInt16) Inspect() string
- func (i UInt16) InstanceVariables() SymbolMap
- func (i UInt16) LessThan(other Value) (Value, Value)
- func (i UInt16) LessThanEqual(other Value) (Value, Value)
- func (i UInt16) Modulo(other Value) (UInt16, Value)
- func (i UInt16) Multiply(other Value) (UInt16, Value)
- func (UInt16) SingletonClass() *Class
- func (i UInt16) StrictEqual(other Value) Value
- func (i UInt16) Subtract(other Value) (UInt16, Value)
- func (i UInt16) ToFloat() Float
- func (i UInt16) ToFloat32() Float32
- func (i UInt16) ToFloat64() Float64
- func (i UInt16) ToInt16() Int16
- func (i UInt16) ToInt32() Int32
- func (i UInt16) ToInt64() Int64
- func (i UInt16) ToInt8() Int8
- func (i UInt16) ToSmallInt() SmallInt
- func (i UInt16) ToString() String
- func (i UInt16) ToUInt32() UInt32
- func (i UInt16) ToUInt64() UInt64
- func (i UInt16) ToUInt8() UInt8
- func (i UInt16) ToValue() Value
- type UInt32
- func (i UInt32) Add(other Value) (UInt32, Value)
- func (i UInt32) BitwiseAnd(other Value) (UInt32, Value)
- func (i UInt32) BitwiseAndNot(other Value) (UInt32, Value)
- func (i UInt32) BitwiseOr(other Value) (UInt32, Value)
- func (i UInt32) BitwiseXor(other Value) (UInt32, Value)
- func (UInt32) Class() *Class
- func (i UInt32) Compare(other Value) (Value, Value)
- func (UInt32) DirectClass() *Class
- func (i UInt32) Divide(other Value) (UInt32, Value)
- func (i UInt32) Equal(other Value) Value
- func (i UInt32) Error() string
- func (i UInt32) Exponentiate(other Value) (UInt32, Value)
- func (i UInt32) GreaterThan(other Value) (Value, Value)
- func (i UInt32) GreaterThanEqual(other Value) (Value, Value)
- func (i UInt32) Hash() UInt64
- func (i UInt32) Inspect() string
- func (i UInt32) InstanceVariables() SymbolMap
- func (i UInt32) LessThan(other Value) (Value, Value)
- func (i UInt32) LessThanEqual(other Value) (Value, Value)
- func (i UInt32) Modulo(other Value) (UInt32, Value)
- func (i UInt32) Multiply(other Value) (UInt32, Value)
- func (UInt32) SingletonClass() *Class
- func (i UInt32) StrictEqual(other Value) Value
- func (i UInt32) Subtract(other Value) (UInt32, Value)
- func (i UInt32) ToFloat() Float
- func (i UInt32) ToFloat32() Float32
- func (i UInt32) ToFloat64() Float64
- func (i UInt32) ToInt16() Int16
- func (i UInt32) ToInt32() Int32
- func (i UInt32) ToInt64() Int64
- func (i UInt32) ToInt8() Int8
- func (i UInt32) ToSmallInt() SmallInt
- func (i UInt32) ToString() String
- func (i UInt32) ToUInt16() UInt16
- func (i UInt32) ToUInt64() UInt64
- func (i UInt32) ToUInt8() UInt8
- func (i UInt32) ToValue() Value
- type UInt64
- func (i UInt64) Add(other Value) (UInt64, Value)
- func (i UInt64) BitwiseAnd(other Value) (UInt64, Value)
- func (i UInt64) BitwiseAndNot(other Value) (UInt64, Value)
- func (i UInt64) BitwiseOr(other Value) (UInt64, Value)
- func (i UInt64) BitwiseXor(other Value) (UInt64, Value)
- func (UInt64) Class() *Class
- func (i UInt64) Compare(other Value) (Value, Value)
- func (i UInt64) Copy() Reference
- func (UInt64) DirectClass() *Class
- func (i UInt64) Divide(other Value) (UInt64, Value)
- func (i UInt64) Equal(other Value) Value
- func (i UInt64) Error() string
- func (i UInt64) Exponentiate(other Value) (UInt64, Value)
- func (i UInt64) GreaterThan(other Value) (Value, Value)
- func (i UInt64) GreaterThanEqual(other Value) (Value, Value)
- func (i UInt64) Hash() UInt64
- func (i UInt64) Inspect() string
- func (i UInt64) InstanceVariables() SymbolMap
- func (i UInt64) LessThan(other Value) (Value, Value)
- func (i UInt64) LessThanEqual(other Value) (Value, Value)
- func (i UInt64) Modulo(other Value) (UInt64, Value)
- func (i UInt64) Multiply(other Value) (UInt64, Value)
- func (UInt64) SingletonClass() *Class
- func (i UInt64) StrictEqual(other Value) Value
- func (i UInt64) Subtract(other Value) (UInt64, Value)
- func (i UInt64) ToFloat() Float
- func (i UInt64) ToFloat32() Float32
- func (i UInt64) ToFloat64() Float64
- func (i UInt64) ToInt16() Int16
- func (i UInt64) ToInt32() Int32
- func (i UInt64) ToInt64() Int64
- func (i UInt64) ToInt8() Int8
- func (i UInt64) ToSmallInt() SmallInt
- func (i UInt64) ToString() String
- func (i UInt64) ToUInt16() UInt16
- func (i UInt64) ToUInt32() UInt32
- func (i UInt64) ToUInt8() UInt8
- func (i UInt64) ToValue() Value
- type UInt8
- func (i UInt8) Add(other Value) (UInt8, Value)
- func (i UInt8) BitwiseAnd(other Value) (UInt8, Value)
- func (i UInt8) BitwiseAndNot(other Value) (UInt8, Value)
- func (i UInt8) BitwiseOr(other Value) (UInt8, Value)
- func (i UInt8) BitwiseXor(other Value) (UInt8, Value)
- func (UInt8) Class() *Class
- func (i UInt8) Compare(other Value) (Value, Value)
- func (UInt8) DirectClass() *Class
- func (i UInt8) Divide(other Value) (UInt8, Value)
- func (i UInt8) Equal(other Value) Value
- func (i UInt8) Error() string
- func (i UInt8) Exponentiate(other Value) (UInt8, Value)
- func (i UInt8) GreaterThan(other Value) (Value, Value)
- func (i UInt8) GreaterThanEqual(other Value) (Value, Value)
- func (i UInt8) Hash() UInt64
- func (i UInt8) Inspect() string
- func (i UInt8) InstanceVariables() SymbolMap
- func (i UInt8) LessThan(other Value) (Value, Value)
- func (i UInt8) LessThanEqual(other Value) (Value, Value)
- func (i UInt8) Modulo(other Value) (UInt8, Value)
- func (i UInt8) Multiply(other Value) (UInt8, Value)
- func (UInt8) SingletonClass() *Class
- func (i UInt8) StrictEqual(other Value) Value
- func (i UInt8) Subtract(other Value) (UInt8, Value)
- func (i UInt8) ToFloat() Float
- func (i UInt8) ToFloat32() Float32
- func (i UInt8) ToFloat64() Float64
- func (i UInt8) ToInt16() Int16
- func (i UInt8) ToInt32() Int32
- func (i UInt8) ToInt64() Int64
- func (i UInt8) ToInt8() Int8
- func (i UInt8) ToSmallInt() SmallInt
- func (i UInt8) ToString() String
- func (i UInt8) ToUInt16() UInt16
- func (i UInt8) ToUInt32() UInt32
- func (i UInt8) ToUInt64() UInt64
- func (i UInt8) ToValue() Value
- type UndefinedType
- type UnsignedInt
- type Value
- func Add(left, right Value) (result, err Value)
- func BitwiseAnd(left, right Value) (result, err Value)
- func BitwiseAndNot(left, right Value) (result, err Value)
- func BitwiseNot(operand Value) Value
- func BitwiseOr(left, right Value) (result, err Value)
- func BitwiseXor(left, right Value) (result, err Value)
- func ClassConstructor(metaClass *Class) Value
- func Compare(left, right Value) (result, err Value)
- func Decrement(operand Value) Value
- func Divide(left, right Value) (result, err Value)
- func Equal(left, right Value) Value
- func Exponentiate(left, right Value) (result, err Value)
- func GreaterThan(left, right Value) (result, err Value)
- func GreaterThanEqual(left, right Value) (result, err Value)
- func Increment(operand Value) Value
- func InterfaceConstructor(class *Class) Value
- func LaxEqual(left, right Value) Value
- func LaxNotEqual(left, right Value) Value
- func LeftBitshift(left, right Value) (result, err Value)
- func LessThan(left, right Value) (result, err Value)
- func LessThanEqual(left, right Value) (result, err Value)
- func LogicalLeftBitshift(left, right Value) (result, err Value)
- func LogicalRightBitshift(left, right Value) (result, err Value)
- func MixinConstructor(class *Class) Value
- func ModuleConstructor(class *Class) Value
- func Modulo(left, right Value) (result, err Value)
- func Multiply(left, right Value) (result, err Value)
- func Negate(operand Value) Value
- func NotEqual(left, right Value) Value
- func ObjectConstructor(class *Class) Value
- func PairConstructor(class *Class) Value
- func Ref(ref Reference) Value
- func RightBitshift(left, right Value) (result, err Value)
- func SetInSlice(collection *[]Value, index int, val Value) Value
- func StrictEqual(left, right Value) Value
- func StrictFloatLaxEqual[T StrictFloat](left T, right Value) Value
- func StrictIntLeftBitshift[T StrictInt](left T, right Value) (T, Value)
- func StrictIntLogicalLeftBitshift[T StrictInt](left T, right Value, shiftFunc logicalShiftFunc[T]) (T, Value)
- func StrictIntLogicalRightBitshift[T StrictInt](left T, right Value, shiftFunc logicalShiftFunc[T]) (T, Value)
- func StrictIntRightBitshift[T StrictInt](left T, right Value) (T, Value)
- func StrictNotEqual(left, right Value) Value
- func StrictParseInt(s string, base int, bitSize int) (int64, Value)
- func StrictParseUint(s string, base int, bitSize int) (uint64, Value)
- func StrictSignedIntLaxEqual[T StrictSignedInt](left T, right Value) Value
- func StrictUnsignedIntLaxEqual[T StrictUnsignedInt](left T, right Value) Value
- func Subscript(collection, key Value) (result, err Value)
- func SubscriptSet(collection, key, val Value) (result, err Value)
- func Subtract(left, right Value) (result, err Value)
- func ToBool(val Value) Value
- func ToElkBool(val bool) Value
- func ToElkInt(i int64) Value
- func ToNotBool(val Value) Value
- func UnaryPlus(operand Value) Value
- func (v Value) AsChar() Char
- func (v Value) AsDuration() Duration
- func (v Value) AsFalse() FalseType
- func (v Value) AsFloat() Float
- func (v Value) AsFloat32() Float32
- func (v Value) AsFloat64() Float64
- func (v Value) AsInt16() Int16
- func (v Value) AsInt32() Int32
- func (v Value) AsInt64() Int64
- func (v Value) AsInt8() Int8
- func (v Value) AsNil() NilType
- func (v Value) AsReference() Reference
- func (v Value) AsSmallInt() SmallInt
- func (v Value) AsSymbol() Symbol
- func (v Value) AsTrue() TrueType
- func (v Value) AsUInt16() UInt16
- func (v Value) AsUInt32() UInt32
- func (v Value) AsUInt64() UInt64
- func (v Value) AsUInt8() UInt8
- func (v Value) AsUndefined() UndefinedType
- func (v Value) Class() *Class
- func (v Value) Copy() Value
- func (v Value) DirectClass() *Class
- func (v Value) Error() string
- func (v Value) Inspect() string
- func (v Value) InstanceVariables() SymbolMap
- func (v Value) IsChar() bool
- func (v Value) IsDuration() bool
- func (v Value) IsFalse() bool
- func (v Value) IsFloat() bool
- func (v Value) IsFloat32() bool
- func (v Value) IsFloat64() bool
- func (v Value) IsInlineValue() bool
- func (v Value) IsInt16() bool
- func (v Value) IsInt32() bool
- func (v Value) IsInt64() bool
- func (v Value) IsInt8() bool
- func (v Value) IsNil() bool
- func (v Value) IsReference() bool
- func (v Value) IsSmallInt() bool
- func (v Value) IsSymbol() bool
- func (v Value) IsTrue() bool
- func (v Value) IsUInt16() bool
- func (v Value) IsUInt32() bool
- func (v Value) IsUInt64() bool
- func (v Value) IsUInt8() bool
- func (v Value) IsUndefined() bool
- func (v Value) MustChar() Char
- func (v Value) MustDuration() Duration
- func (v Value) MustFalse() FalseType
- func (v Value) MustFloat() Float
- func (v Value) MustFloat32() Float32
- func (v Value) MustFloat64() Float64
- func (v Value) MustInt16() Int16
- func (v Value) MustInt32() Int32
- func (v Value) MustInt64() Int64
- func (v Value) MustInt8() Int8
- func (v Value) MustNil() NilType
- func (v Value) MustReference() Reference
- func (v Value) MustSmallInt() SmallInt
- func (v Value) MustSymbol() Symbol
- func (v Value) MustTrue() TrueType
- func (v Value) MustUInt16() UInt16
- func (v Value) MustUInt32() UInt32
- func (v Value) MustUInt64() UInt64
- func (v Value) MustUInt8() UInt8
- func (v Value) MustUndefined() UndefinedType
- func (v Value) SafeAsReference() Reference
- func (v Value) SingletonClass() *Class
- func (v Value) ValueFlag() uint8
Constants ¶
const ( CLASS_SINGLETON_FLAG bitfield.BitFlag8 = 1 << iota // Singleton classes are hidden classes often associated with a single value CLASS_MIXIN_PROXY_FLAG // This class serves as a proxy to an included mixin CLASS_MIXIN_FLAG // This class is a mixin )
const ( Nanosecond Duration = 1 Microsecond = 1000 * Nanosecond Millisecond = 1000 * Microsecond Second = 1000 * Millisecond Minute = 60 * Second Hour = 60 * Minute Day = 24 * Hour Week = 7 * Day Year = Duration(365.25 * float64(Week)) )
const ( UNDEFINED_FLAG = iota TRUE_FLAG FALSE_FLAG NIL_FLAG SMALL_INT_FLAG FLOAT_FLAG FLOAT32_FLAG INT8_FLAG UINT8_FLAG INT16_FLAG UINT16_FLAG INT32_FLAG UINT32_FLAG CHAR_FLAG SYMBOL_FLAG // only 64 bit systems INT64_FLAG UINT64_FLAG FLOAT64_FLAG DURATION_FLAG REFERENCE_FLAG )
const BigFloatNaNMode big.RoundingMode = 0b111
const DefaultTimeFormat = "%Y-%m-%d %H:%M:%S.%9N %:z"
const FloatPrecision = 53
const HashMapMaxLoad = 0.75
const HashSetMaxLoad = 0.75
const MaxSmallInt = math.MaxInt
Max value of SmallInt
const MinSmallInt = math.MinInt
Min value of SmallInt
const PtrSize = 4 << (^uintptr(0) >> 63)
const SmallIntBits = PtrSize * 8
Number of bits available for a small int.
const ValueSize = unsafe.Sizeof(Value{})
Variables ¶
var ( // positive infinity BigFloatInfVal = BigFloatInf() // negative infinity BigFloatNegInfVal = BigFloatNegInf() // not a number value BigFloatNaNVal = BigFloatNaN() )
var False = FalseType{}.ToValue()
Elk's false value
var GlobalObject = GlobalObjectType{}
var LocalTimezone = NewTimezone(time.Local)
var SYMBOL_TABLE_INITIAL_SIZE int
The number of preallocated slots for symbols in the symbol table at startup.
var True = TrueType{}.ToValue()
Elk's true value
var UTCTimezone = NewTimezone(time.UTC)
var Undefined = UndefinedType{}.ToValue()
Functions ¶
func CountFloatDigits ¶
Counts the number of decimal digits in the string.
func Falsy ¶
Returns true when the Elk value is falsy (works like false in boolean logic) otherwise returns false.
func GetFromSlice ¶
Get an element under the given index.
func Hash ¶
Calculate the hash of the value. When successful returns (result, undefined). When an error occurred returns (0, error). When there are no builtin addition functions for the given type returns (0, NotBuiltinError).
func InspectSlice ¶
func InspectSlice[T Inspectable](slice []T) string
Return the string representation of a slice of values.
func InspectSymbolContent ¶
func InstanceOf ¶
Check if the given value is an instance of the given class.
func IntToGoInt ¶
Converts an Elk value strictly to Go int. Returns (0, false) when the value is incompatible. Returns (-1, false) when the value is a BigInt too large to be converted to int.
func IsMutableCollection ¶
func LoadTimezone ¶
Load a timezone from the IANA database.
func LogicalRightShift16 ¶
func LogicalRightShift32 ¶
func LogicalRightShift64 ¶
func LogicalRightShift8 ¶
func NewReferenceComparer ¶
func NewSymbolTableComparer ¶
func ParseBigFloat ¶
Parse a big float value from the given string.
func ParseBigInt ¶
Parses a signed big.Int from a string using Elk syntax.
func ParseDuration ¶
Parses a duration string and creates a Duration value. A duration string is a possibly signed sequence of decimal numbers, each with optional fraction and a unit suffix, such as "300ms", "-1.5h" or "2h45m". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
func ParseUBigInt ¶
Parses an unsigned big.Int from a string using Elk syntax.
func PrecisionForFloatString ¶
Calculates the precision required to represent the float in the given string.
func ToGoInt ¶
Converts an Elk value to Go int. Returns (0, false) when the value is incompatible. Returns (-1, false) when the value is a BigInt too large to be converted to int.
Types ¶
type ArrayList ¶
type ArrayList []Value
Elk's ArrayList value
func NewArrayList ¶
func NewArrayListWithLength ¶
func (*ArrayList) Concat ¶
Concatenate another value with this list, creating a new list, and return the result. If the operation is illegal an error will be returned.
func (*ArrayList) DirectClass ¶
func (*ArrayList) InstanceVariables ¶
func (*ArrayList) LeftCapacity ¶
func (*ArrayList) Repeat ¶
Repeat the content of this list n times and return a new list containing the result. If the operation is illegal an error will be returned.
func (*ArrayList) SingletonClass ¶
func (*ArrayList) SubscriptSet ¶
Set an element under the given index.
type ArrayListIterator ¶
func NewArrayListIterator ¶
func NewArrayListIterator(list *ArrayList) *ArrayListIterator
func NewArrayListIteratorWithIndex ¶
func NewArrayListIteratorWithIndex(list *ArrayList, index int) *ArrayListIterator
func (*ArrayListIterator) Class ¶
func (*ArrayListIterator) Class() *Class
func (*ArrayListIterator) Copy ¶
func (l *ArrayListIterator) Copy() Reference
func (*ArrayListIterator) DirectClass ¶
func (*ArrayListIterator) DirectClass() *Class
func (*ArrayListIterator) Error ¶
func (l *ArrayListIterator) Error() string
func (*ArrayListIterator) Inspect ¶
func (l *ArrayListIterator) Inspect() string
func (*ArrayListIterator) InstanceVariables ¶
func (*ArrayListIterator) InstanceVariables() SymbolMap
func (*ArrayListIterator) Next ¶
func (l *ArrayListIterator) Next() (Value, Value)
func (*ArrayListIterator) SingletonClass ¶
func (*ArrayListIterator) SingletonClass() *Class
type ArrayTuple ¶
type ArrayTuple []Value
Elk's ArrayTuple value
func NewArrayTuple ¶
func NewArrayTuple(capacity int) *ArrayTuple
func NewArrayTupleWithElements ¶
func NewArrayTupleWithElements(capacity int, elements ...Value) *ArrayTuple
func NewArrayTupleWithLength ¶
func NewArrayTupleWithLength(length int) *ArrayTuple
func (*ArrayTuple) At ¶
func (t *ArrayTuple) At(i int) Value
Get an element under the given index without bounds checking.
func (*ArrayTuple) Class ¶
func (*ArrayTuple) Class() *Class
func (*ArrayTuple) Concat ¶
func (t *ArrayTuple) Concat(other Value) (Value, Value)
Concatenate another value with this arrayTuple, creating a new value, and return the result. If the operation is illegal an error will be returned.
func (*ArrayTuple) Copy ¶
func (t *ArrayTuple) Copy() Reference
func (*ArrayTuple) DirectClass ¶
func (*ArrayTuple) DirectClass() *Class
func (*ArrayTuple) Error ¶
func (t *ArrayTuple) Error() string
func (*ArrayTuple) Expand ¶
func (t *ArrayTuple) Expand(newElements int)
Expands the arrayTuple by n nil elements.
func (*ArrayTuple) Get ¶
func (t *ArrayTuple) Get(index int) (Value, Value)
Get an element under the given index.
func (*ArrayTuple) Inspect ¶
func (t *ArrayTuple) Inspect() string
func (*ArrayTuple) InstanceVariables ¶
func (*ArrayTuple) InstanceVariables() SymbolMap
func (*ArrayTuple) Length ¶
func (t *ArrayTuple) Length() int
func (*ArrayTuple) Repeat ¶
func (t *ArrayTuple) Repeat(other Value) (*ArrayTuple, Value)
Repeat the content of this arrayTuple n times and return a new arrayTuple containing the result. If the operation is illegal an error will be returned.
func (*ArrayTuple) Set ¶
func (t *ArrayTuple) Set(index int, val Value) Value
Set an element under the given index.
func (*ArrayTuple) SetAt ¶
func (t *ArrayTuple) SetAt(index int, val Value)
Set an element under the given index without bounds checking.
func (*ArrayTuple) SingletonClass ¶
func (*ArrayTuple) SingletonClass() *Class
func (*ArrayTuple) Subscript ¶
func (t *ArrayTuple) Subscript(key Value) (Value, Value)
Get an element under the given index.
func (*ArrayTuple) SubscriptSet ¶
func (t *ArrayTuple) SubscriptSet(key, val Value) Value
Set an element under the given index.
type ArrayTupleIterator ¶
type ArrayTupleIterator struct { ArrayTuple *ArrayTuple Index int }
func NewArrayTupleIterator ¶
func NewArrayTupleIterator(arrayTuple *ArrayTuple) *ArrayTupleIterator
func NewArrayTupleIteratorWithIndex ¶
func NewArrayTupleIteratorWithIndex(arrayTuple *ArrayTuple, index int) *ArrayTupleIterator
func (*ArrayTupleIterator) Class ¶
func (*ArrayTupleIterator) Class() *Class
func (*ArrayTupleIterator) Copy ¶
func (t *ArrayTupleIterator) Copy() Reference
func (*ArrayTupleIterator) DirectClass ¶
func (*ArrayTupleIterator) DirectClass() *Class
func (*ArrayTupleIterator) Error ¶
func (t *ArrayTupleIterator) Error() string
func (*ArrayTupleIterator) Inspect ¶
func (t *ArrayTupleIterator) Inspect() string
func (*ArrayTupleIterator) InstanceVariables ¶
func (*ArrayTupleIterator) InstanceVariables() SymbolMap
func (*ArrayTupleIterator) Next ¶
func (t *ArrayTupleIterator) Next() (Value, Value)
func (*ArrayTupleIterator) SingletonClass ¶
func (*ArrayTupleIterator) SingletonClass() *Class
type BeginlessClosedRange ¶
type BeginlessClosedRange struct {
End Value // end value
}
Represents a beginless closed range eg. `...2`
func NewBeginlessClosedRange ¶
func NewBeginlessClosedRange(end Value) *BeginlessClosedRange
Create a new beginless closed range class.
func (*BeginlessClosedRange) Class ¶
func (*BeginlessClosedRange) Class() *Class
func (*BeginlessClosedRange) Copy ¶
func (r *BeginlessClosedRange) Copy() Reference
func (*BeginlessClosedRange) DirectClass ¶
func (*BeginlessClosedRange) DirectClass() *Class
func (*BeginlessClosedRange) Error ¶
func (r *BeginlessClosedRange) Error() string
func (*BeginlessClosedRange) Inspect ¶
func (r *BeginlessClosedRange) Inspect() string
func (*BeginlessClosedRange) InstanceVariables ¶
func (r *BeginlessClosedRange) InstanceVariables() SymbolMap
func (*BeginlessClosedRange) SingletonClass ¶
func (*BeginlessClosedRange) SingletonClass() *Class
type BeginlessOpenRange ¶
type BeginlessOpenRange struct {
End Value // end value
}
Represents a beginless open range eg. `..<2`
func NewBeginlessOpenRange ¶
func NewBeginlessOpenRange(end Value) *BeginlessOpenRange
Create a new beginless open range class.
func (*BeginlessOpenRange) Class ¶
func (*BeginlessOpenRange) Class() *Class
func (*BeginlessOpenRange) Copy ¶
func (r *BeginlessOpenRange) Copy() Reference
func (*BeginlessOpenRange) DirectClass ¶
func (*BeginlessOpenRange) DirectClass() *Class
func (*BeginlessOpenRange) Error ¶
func (r *BeginlessOpenRange) Error() string
func (*BeginlessOpenRange) Inspect ¶
func (r *BeginlessOpenRange) Inspect() string
func (*BeginlessOpenRange) InstanceVariables ¶
func (r *BeginlessOpenRange) InstanceVariables() SymbolMap
func (*BeginlessOpenRange) SingletonClass ¶
func (*BeginlessOpenRange) SingletonClass() *Class
type BigFloat ¶
Elk's BigFloat value
func NewBigFloat ¶
Create a new BigFloat with the specified value.
func ParseBigFloatPanic ¶
Same as ParseBigFloat but panics on error.
func ToElkBigFloat ¶
Convert Go's big.Float values to Elk's BigFloat values.
func (*BigFloat) AddBigFloat ¶
Add sets z to the rounded sum x+y and returns z.
func (*BigFloat) AsGoBigFloat ¶
Convert Elk's BigFloat values to Go's big.Float values. Does a cast without any checks.
func (*BigFloat) Cmp ¶
Cmp compares x and y and returns:
-1 if x < y 0 if x == y +1 if x > y
Panics if x or y are NaN.
func (*BigFloat) Compare ¶
Returns 1 if i is greater than other Returns 0 if both are equal. Returns -1 if i is less than other. Returns nil if the comparison was impossible (NaN)
func (*BigFloat) DirectClass ¶
func (*BigFloat) DivBigFloat ¶
Div sets z to the rounded result x/y and returns z.
func (*BigFloat) Equal ¶
Check whether f is equal to other and return an error if something went wrong.
func (*BigFloat) Exponentiate ¶
Exponentiate by another value and return an error if something went wrong.
func (*BigFloat) FloorBigFloat ¶
func (*BigFloat) GreaterThan ¶
Check whether f is greater than other and return an error if something went wrong.
func (*BigFloat) GreaterThanEqual ¶
Check whether f is greater than or equal to other and return an error if something went wrong.
func (*BigFloat) InstanceVariables ¶
func (*BigFloat) IsInf ¶
IsInf reports whether f is an infinity, according to sign. If sign > 0, IsInf reports whether f is positive infinity. If sign < 0, IsInf reports whether f is negative infinity. If sign == 0, IsInf reports whether f is either infinity.
func (*BigFloat) LaxEqual ¶
Check whether f is equal to other and return an error if something went wrong.
func (*BigFloat) LessThan ¶
Check whether f is less than other and return an error if something went wrong.
func (*BigFloat) LessThanEqual ¶
Check whether f is less than or equal to other and return an error if something went wrong.
func (*BigFloat) Mod ¶
Perform z = a % b by another BigFloat.
Special cases are:
Mod(±Inf, y) = NaN Mod(NaN, y) = NaN Mod(x, 0) = NaN Mod(x, ±Inf) = x Mod(x, NaN) = NaN
func (*BigFloat) Modulo ¶
Perform modulo by another numeric value and return an error if something went wrong.
func (*BigFloat) MulBigFloat ¶
Mul sets z to the rounded result x*y and returns z.
func (*BigFloat) SetFloat64 ¶
Sets f to the possibly rounded value of x.
func (*BigFloat) SetPrecision ¶
Sets the f's precision to prec and possibly rounds the value.
func (*BigFloat) SetSmallInt ¶
Sets f to the value of i.
func (*BigFloat) SingletonClass ¶
func (*BigFloat) StrictEqual ¶
Check whether f is strictly equal to other and return an error if something went wrong.
func (*BigFloat) SubBigFloat ¶
Sub sets z to the rounded result x-y and returns z.
func (*BigFloat) ToGoBigFloat ¶
Convert Elk's BigFloat values to Go's big.Float values. Panics with big.ErrNaN if f is a NaN.
type BigFloatErrNaN ¶
type BigFloatErrNaN struct {
// contains filtered or unexported fields
}
A BigFloatErrNaN panic is raised when converting a NaN value from Elk's BigFloat to Go's big.Float. Implements the error interface.
func (BigFloatErrNaN) Error ¶
func (e BigFloatErrNaN) Error() string
type BigInt ¶
Elk's BigInt value
func ParseBigIntPanic ¶
Same as ParseBigInt but panics on error.
func ToElkBigInt ¶
Convert Go big.Int value to Elk BigInt value.
func (*BigInt) BitwiseAnd ¶
Perform bitwise AND with another value and return an error if something went wrong.
func (*BigInt) BitwiseAndNot ¶
Perform bitwise AND NOT with another value and return an error if something went wrong.
func (*BigInt) BitwiseNot ¶
Perform bitwise not on the number and return the result.
func (*BigInt) BitwiseOr ¶
Perform bitwise OR with another value and return an error if something went wrong.
func (*BigInt) BitwiseXor ¶
Perform bitwise XOR with another value and return an error if something went wrong.
func (*BigInt) Compare ¶
Returns 1 if i is greater than other Returns 0 if both are equal. Returns -1 if i is less than other. Returns nil if the comparison was impossible (NaN)
func (*BigInt) DirectClass ¶
func (*BigInt) Exponentiate ¶
Exponentiate by another value and return an error if something went wrong.
func (*BigInt) GreaterThan ¶
Check whether i is greater than other and return an error if something went wrong.
func (*BigInt) GreaterThanBool ¶
Check whether i is greater than other and return an error if something went wrong.
func (*BigInt) GreaterThanEqual ¶
Check whether i is greater than or equal to other and return an error if something went wrong.
func (*BigInt) GreaterThanEqualBool ¶
Check whether i is greater than or equal to other and return an error if something went wrong.
func (*BigInt) InstanceVariables ¶
func (*BigInt) IsSmallInt ¶
Reports whether i can be represented as a SmallInt.
func (*BigInt) LeftBitshift ¶
Bitshift to the left by another integer value and return an error if something went wrong.
func (*BigInt) LessThan ¶
Check whether i is less than other and return an error if something went wrong.
func (*BigInt) LessThanBool ¶
Check whether i is less than other and return an error if something went wrong.
func (*BigInt) LessThanEqual ¶
Check whether i is less than or equal to other and return an error if something went wrong.
func (*BigInt) LessThanEqualBool ¶
Check whether i is less than or equal to other and return an error if something went wrong.
func (*BigInt) Microseconds ¶
func (*BigInt) Milliseconds ¶
func (*BigInt) Modulo ¶
Perform modulo with another numeric value and return an error if something went wrong.
func (*BigInt) Nanoseconds ¶
func (*BigInt) RightBitshift ¶
Bitshift to the right by another integer value and return an error if something went wrong.
func (*BigInt) SingletonClass ¶
func (*BigInt) StrictEqual ¶
Check whether i is strictly equal to other
func (*BigInt) ToGoBigInt ¶
Convert the Elk BigInt value to Go big.Int value.
func (*BigInt) ToSmallInt ¶
Returns the SmallInt representation of i.
type CallSiteInfo ¶
Contains details like the number of arguments or the method name of a particular call site.
func NewCallSiteInfo ¶
func NewCallSiteInfo(methodName Symbol, argCount int) *CallSiteInfo
Create a new CallSiteInfo.
func (*CallSiteInfo) Class ¶
func (*CallSiteInfo) Class() *Class
func (*CallSiteInfo) Copy ¶
func (c *CallSiteInfo) Copy() Reference
func (*CallSiteInfo) DirectClass ¶
func (*CallSiteInfo) DirectClass() *Class
func (*CallSiteInfo) Error ¶
func (c *CallSiteInfo) Error() string
func (*CallSiteInfo) Inspect ¶
func (c *CallSiteInfo) Inspect() string
func (*CallSiteInfo) InstanceVariables ¶
func (*CallSiteInfo) InstanceVariables() SymbolMap
func (*CallSiteInfo) SingletonClass ¶
func (*CallSiteInfo) SingletonClass() *Class
type Char ¶
type Char rune
Elk's Char value
func (Char) Compare ¶
Returns 1 if i is greater than other Returns 0 if both are equal. Returns -1 if i is less than other. Returns nil if the comparison was impossible (NaN)
func (Char) Concat ¶
Concatenate another value with this character, creating a new string, and return the result. If the operation is illegal an error will be returned.
func (Char) DirectClass ¶
func (Char) GraphemeCount ¶
func (Char) GreaterThan ¶
Check whether c is greater than other and return an error if something went wrong.
func (Char) GreaterThanEqual ¶
Check whether c is greater than or equal to other and return an error if something went wrong.
func (Char) InstanceVariables ¶
func (Char) LessThan ¶
Check whether c is less than other and return an error if something went wrong.
func (Char) LessThanEqual ¶
Check whether c is less than or equal to other and return an error if something went wrong.
func (Char) Repeat ¶
Repeat this character n times and return a new string containing the result. If the operation is illegal an error will be returned.
func (Char) SingletonClass ¶
func (Char) StrictEqual ¶
Check whether s is strictly equal to other
type Class ¶
type Class struct { ConstantContainer MethodContainer ConstructorFunc ConstructorFunc Flags bitfield.BitField8 // contains filtered or unexported fields }
Represents an Elk Class.
var ArgumentErrorClass *Class
::Std::ArgumentError
Thrown when the arguments don't match the defined parameters for a given method.
var ArrayListClass *Class
::Std::ArrayList
Represents a dynamically sized array, that can shrink and grow.
var BeginlessClosedRangeClass *Class // ::Std::BeginlessClosedRange
var BeginlessOpenRangeClass *Class // ::Std::BeginlessOpenRange
var BigFloatClass *Class // ::Std::BigFloat
var BoolClass *Class // ::Std::Bool
var ClassClass *Class // ::Std::Class
var ClosedRangeClass *Class // ::Std::ClosedRange
var DurationClass *Class // ::Std::Duration
var EndlessClosedRangeClass *Class // ::Std::EndlessClosedRange
var EndlessClosedRangeIteratorClass *Class
::Std::EndlessClosedRange::Iterator
EndlessClosedRange iterator class.
var EndlessOpenRangeClass *Class // ::Std::EndlessOpenRange
var EndlessOpenRangeIteratorClass *Class
::Std::EndlessOpenRange::Iterator
EndlessOpenRange iterator class.
var FalseClass *Class // ::Std::False
var FileSystemErrorClass *Class
::Std::FileSystemError
var Float32Class *Class // ::Std::Float32
var Float64Class *Class // ::Std::Float64
var FloatClass *Class // ::Std::Float
var FormatErrorClass *Class
::Std::FormatError
Thrown when a literal or interpreted string has an incorrect format.
var FunctionClass *Class // ::Std::Function
var GlobalObjectSingletonClass *Class
var HashMapClass *Class // ::Std::HashMap
var HashMapIteratorClass *Class // ::Std::HashMap::Iterator
var HashRecordClass *Class // ::Std::HashRecord
var HashRecordIteratorClass *Class // ::Std::HashRecord::Iterator
var HashSetClass *Class // ::Std::HashSet
var HashSetIteratorClass *Class // ::Std::HashSet::Iterator
var Int16Class *Class // ::Std::Int16
var Int32Class *Class // ::Std::Int32
var Int64Class *Class // ::Std::Int64
var Int8Class *Class // ::Std::Int8
var IntClass *Class // ::Std::Int
var InterfaceClass *Class // ::Std::Interface
var InvalidTimezoneErrorClass *Class
::Std::InvalidTimezoneError
Thrown when a timezone wasn't found.
var LeftOpenRangeClass *Class // ::Std::LeftOpenRange
var MethodClass *Class // ::Std::Method
var MixinClass *Class // ::Std::Mixin
var ModifierMismatchErrorClass *Class
::Std::ModifierMismatchError
Thrown when a class was originally defined with some modifiers and later on reopened with different ones.
var ModuleClass *Class // ::Std::Module
var NilClass *Class // ::Std::Nil
var NoConstantErrorClass *Class
::Std::NoConstantError
Thrown after trying to read a nonexistent constant.
var NoMethodErrorClass *Class
::Std::NoMethodError
Thrown after attempting to call a method that is not available to the value.
var NotBuiltinErrorClass *Class
::Std::NotBuiltinError
Thrown when the called method is not builtin.
var ObjectClass *Class // ::Std::Object
var OpenRangeClass *Class // ::Std::OpenRange
var OutOfRangeErrorClass *Class
::Std::OutOfRangeError
Thrown when a numeric value is too large or too small to be used in a particular setting.
var PairClass *Class // ::Std::Pair
var PatternNotMatchedErrorClass *Class
::Std::PatternNotMatchedError
Thrown when a pattern was not matched in destructuring etc
var PrimitiveValueErrorClass *Class
::Std::PrimitiveValueError
Thrown when trying to access or set instance variables on a primitive object that cannot have instance variables.
var RedefinedConstantErrorClass *Class
::Std::RedefinedConstantError
Thrown after trying to redefine a constant.
var RegexClass *Class // ::Std::Regex
var RegexCompileErrorClass *Class
::Std::RegexCompileError
Thrown when a Regex could not be compiled.
var RightOpenRangeClass *Class // ::Std::RightOpenRange
var RightOpenRangeIteratorClass *Class
::Std::RightOpenRange::Iterator
RightOpenRange iterator class.
var SealedClassErrorClass *Class
::Std::SealedClassError
Thrown when trying to inherit from a sealed class.
var StringByteIteratorClass *Class // ::Std::String::ByteIterator
var StringCharIteratorClass *Class // ::Std::String::CharIterator
var StringClass *Class // ::Std::String
var SymbolClass *Class // ::Std::Symbol
var SymbolMapClass *Class // ::Std::SymbolMap
var TimeClass *Class // ::Std::Time
var TimezoneClass *Class // ::Std::Timezone
var TrueClass *Class // ::Std::True
var TypeErrorClass *Class
::Std::TypeError
Thrown when an argument given to a method has an incorrect type.
var UInt16Class *Class // ::Std::UInt16
var UInt32Class *Class // ::Std::UInt32
var UInt64Class *Class // ::Std::UInt64
var UInt8Class *Class // ::Std::UInt8
var UndefinedClass *Class
var UnexpectedNilErrorClass *Class
::Std::UnexpectedNilError
Thrown when a `nil` value is encountered in a `must` expression.
var ValueClass *Class // ::Std::Value
var ZeroDivisionErrorClass *Class
::Std::ZeroDivisionError
Thrown when an integer is divided by zero.
func NewSingletonClass ¶
func (*Class) CreateInstance ¶
Create a new instance of the class without initialising it.
func (*Class) DirectClass ¶
func (*Class) IncludeMixin ¶
Include the passed in mixin in this class.
func (*Class) InspectInheritance ¶
func (*Class) InspectParents ¶
func (*Class) InstanceVariables ¶
func (*Class) IsMixinProxy ¶
func (*Class) IsSingleton ¶
func (*Class) SetDirectClass ¶
func (*Class) SetMixinProxy ¶
func (c *Class) SetMixinProxy()
func (*Class) SetSingleton ¶
func (c *Class) SetSingleton()
func (*Class) SetSingletonName ¶
func (*Class) SingletonClass ¶
type ClassOption ¶
type ClassOption = func(*Class)
Class constructor option function
func ClassWithConstants ¶
func ClassWithConstants(constants SymbolMap) ClassOption
func ClassWithConstructor ¶
func ClassWithConstructor(constructor ConstructorFunc) ClassOption
func ClassWithMetaClass ¶
func ClassWithMetaClass(metaClass *Class) ClassOption
func ClassWithMethods ¶
func ClassWithMethods(methods MethodMap) ClassOption
func ClassWithMixin ¶
func ClassWithMixin() ClassOption
func ClassWithMixinProxy ¶
func ClassWithMixinProxy() ClassOption
func ClassWithName ¶
func ClassWithName(name string) ClassOption
func ClassWithParent ¶
func ClassWithParent(parent *Class) ClassOption
func ClassWithSingleton ¶
func ClassWithSingleton() ClassOption
type ClosedRange ¶
Represents a closed range eg. `5...2`
func NewClosedRange ¶
func NewClosedRange(start, end Value) *ClosedRange
Create a new closed range class.
func (*ClosedRange) Class ¶
func (*ClosedRange) Class() *Class
func (*ClosedRange) Copy ¶
func (r *ClosedRange) Copy() Reference
func (*ClosedRange) DirectClass ¶
func (*ClosedRange) DirectClass() *Class
func (*ClosedRange) Error ¶
func (r *ClosedRange) Error() string
func (*ClosedRange) Inspect ¶
func (r *ClosedRange) Inspect() string
func (*ClosedRange) InstanceVariables ¶
func (r *ClosedRange) InstanceVariables() SymbolMap
func (*ClosedRange) SingletonClass ¶
func (*ClosedRange) SingletonClass() *Class
type ClosedRangeIterator ¶
type ClosedRangeIterator struct { Range *ClosedRange CurrentElement Value }
func NewClosedRangeIterator ¶
func NewClosedRangeIterator(r *ClosedRange) *ClosedRangeIterator
func NewClosedRangeIteratorWithCurrentElement ¶
func NewClosedRangeIteratorWithCurrentElement(r *ClosedRange, currentElement Value) *ClosedRangeIterator
func (*ClosedRangeIterator) Class ¶
func (*ClosedRangeIterator) Class() *Class
func (*ClosedRangeIterator) Copy ¶
func (r *ClosedRangeIterator) Copy() Reference
func (*ClosedRangeIterator) DirectClass ¶
func (*ClosedRangeIterator) DirectClass() *Class
func (*ClosedRangeIterator) Error ¶
func (r *ClosedRangeIterator) Error() string
func (*ClosedRangeIterator) Inspect ¶
func (r *ClosedRangeIterator) Inspect() string
func (*ClosedRangeIterator) InstanceVariables ¶
func (*ClosedRangeIterator) InstanceVariables() SymbolMap
func (*ClosedRangeIterator) SingletonClass ¶
func (*ClosedRangeIterator) SingletonClass() *Class
type ConstantContainer ¶
Struct for embedding, contains fields shared by Module, Mixin, Class, Struct
func (*ConstantContainer) AddConstant ¶
func (m *ConstantContainer) AddConstant(name Symbol, val Value)
Set the constant with the specified name to the given value.
func (*ConstantContainer) AddConstantString ¶
func (m *ConstantContainer) AddConstantString(name string, val Value)
Set the constant with the specified name to the given value.
func (*ConstantContainer) PrintableName ¶
func (m *ConstantContainer) PrintableName() string
Return a human readable name.
type ConstructorFunc ¶
Function that creates a new instance.
type Duration ¶
Represents the elapsed time between two Times as an int64 nanosecond count. The representation limits the largest representable duration to approximately 290 years. Wraps Go's time.Duration.
func DurationSince ¶
func DurationUntil ¶
func (Duration) DirectClass ¶
func (Duration) InMicroseconds ¶
func (Duration) InMilliseconds ¶
func (Duration) InNanoseconds ¶
func (Duration) InstanceVariables ¶
func (Duration) Microseconds ¶
func (Duration) Milliseconds ¶
func (Duration) Nanoseconds ¶
func (Duration) SingletonClass ¶
type EndlessClosedRange ¶
type EndlessClosedRange struct {
Start Value // start value
}
Represents an endless closed range eg. `5...`
func NewEndlessClosedRange ¶
func NewEndlessClosedRange(start Value) *EndlessClosedRange
Create a new endless closed range class.
func (*EndlessClosedRange) Class ¶
func (*EndlessClosedRange) Class() *Class
func (*EndlessClosedRange) Copy ¶
func (r *EndlessClosedRange) Copy() Reference
func (*EndlessClosedRange) DirectClass ¶
func (*EndlessClosedRange) DirectClass() *Class
func (*EndlessClosedRange) Error ¶
func (r *EndlessClosedRange) Error() string
func (*EndlessClosedRange) Inspect ¶
func (r *EndlessClosedRange) Inspect() string
func (*EndlessClosedRange) InstanceVariables ¶
func (r *EndlessClosedRange) InstanceVariables() SymbolMap
func (*EndlessClosedRange) SingletonClass ¶
func (*EndlessClosedRange) SingletonClass() *Class
type EndlessClosedRangeIterator ¶
type EndlessClosedRangeIterator struct { Range *EndlessClosedRange CurrentElement Value }
func NewEndlessClosedRangeIterator ¶
func NewEndlessClosedRangeIterator(r *EndlessClosedRange) *EndlessClosedRangeIterator
func NewEndlessClosedRangeIteratorWithCurrentElement ¶
func NewEndlessClosedRangeIteratorWithCurrentElement(r *EndlessClosedRange, currentElement Value) *EndlessClosedRangeIterator
func (*EndlessClosedRangeIterator) Class ¶
func (*EndlessClosedRangeIterator) Class() *Class
func (*EndlessClosedRangeIterator) Copy ¶
func (r *EndlessClosedRangeIterator) Copy() Reference
func (*EndlessClosedRangeIterator) DirectClass ¶
func (*EndlessClosedRangeIterator) DirectClass() *Class
func (*EndlessClosedRangeIterator) Error ¶
func (r *EndlessClosedRangeIterator) Error() string
func (*EndlessClosedRangeIterator) Inspect ¶
func (r *EndlessClosedRangeIterator) Inspect() string
func (*EndlessClosedRangeIterator) InstanceVariables ¶
func (*EndlessClosedRangeIterator) InstanceVariables() SymbolMap
func (*EndlessClosedRangeIterator) SingletonClass ¶
func (*EndlessClosedRangeIterator) SingletonClass() *Class
type EndlessOpenRange ¶
type EndlessOpenRange struct {
Start Value // start value
}
Represents an endless open range eg. `5<..`
func NewEndlessOpenRange ¶
func NewEndlessOpenRange(start Value) *EndlessOpenRange
Create a new endless open range class.
func (*EndlessOpenRange) Class ¶
func (*EndlessOpenRange) Class() *Class
func (*EndlessOpenRange) Copy ¶
func (r *EndlessOpenRange) Copy() Reference
func (*EndlessOpenRange) DirectClass ¶
func (*EndlessOpenRange) DirectClass() *Class
func (*EndlessOpenRange) Error ¶
func (r *EndlessOpenRange) Error() string
func (*EndlessOpenRange) Inspect ¶
func (r *EndlessOpenRange) Inspect() string
func (*EndlessOpenRange) InstanceVariables ¶
func (r *EndlessOpenRange) InstanceVariables() SymbolMap
func (*EndlessOpenRange) SingletonClass ¶
func (*EndlessOpenRange) SingletonClass() *Class
type EndlessOpenRangeIterator ¶
type EndlessOpenRangeIterator struct { Range *EndlessOpenRange CurrentElement Value }
func NewEndlessOpenRangeIterator ¶
func NewEndlessOpenRangeIterator(r *EndlessOpenRange) *EndlessOpenRangeIterator
func NewEndlessOpenRangeIteratorWithCurrentElement ¶
func NewEndlessOpenRangeIteratorWithCurrentElement(r *EndlessOpenRange, currentElement Value) *EndlessOpenRangeIterator
func (*EndlessOpenRangeIterator) Class ¶
func (*EndlessOpenRangeIterator) Class() *Class
func (*EndlessOpenRangeIterator) Copy ¶
func (r *EndlessOpenRangeIterator) Copy() Reference
func (*EndlessOpenRangeIterator) DirectClass ¶
func (*EndlessOpenRangeIterator) DirectClass() *Class
func (*EndlessOpenRangeIterator) Error ¶
func (r *EndlessOpenRangeIterator) Error() string
func (*EndlessOpenRangeIterator) Inspect ¶
func (r *EndlessOpenRangeIterator) Inspect() string
func (*EndlessOpenRangeIterator) InstanceVariables ¶
func (*EndlessOpenRangeIterator) InstanceVariables() SymbolMap
func (*EndlessOpenRangeIterator) SingletonClass ¶
func (*EndlessOpenRangeIterator) SingletonClass() *Class
type FalseType ¶
type FalseType struct{}
func (FalseType) DirectClass ¶
func (FalseType) InstanceVariables ¶
func (FalseType) SingletonClass ¶
type Float ¶
type Float float64
Elk's Float value
func (Float) Cmp ¶
Cmp compares x and y and returns:
-1 if x < y 0 if x == y +1 if x > y
Panics if x or y are NaN.
func (Float) Compare ¶
Returns 1 if i is greater than other Returns 0 if both are equal. Returns -1 if i is less than other. Returns nil if the comparison was impossible (NaN)
func (Float) DirectClass ¶
func (Float) Exponentiate ¶
Exponentiate by another value and return an error if something went wrong.
func (Float) GreaterThan ¶
Check whether f is greater than other and return an error if something went wrong.
func (Float) GreaterThanEqual ¶
Check whether f is greater than or equal to other and return an error if something went wrong.
func (Float) InstanceVariables ¶
func (Float) IsInf ¶
IsInf reports whether f is an infinity, according to sign. If sign > 0, IsInf reports whether f is positive infinity. If sign < 0, IsInf reports whether f is negative infinity. If sign == 0, IsInf reports whether f is either infinity.
func (Float) LessThan ¶
Check whether f is less than other and return an error if something went wrong.
func (Float) LessThanEqual ¶
Check whether f is less than or equal to other and return an error if something went wrong.
func (Float) Microseconds ¶
func (Float) Milliseconds ¶
func (Float) Modulo ¶
Perform modulo by another numeric value and return an error if something went wrong.
func (Float) Nanoseconds ¶
func (Float) SingletonClass ¶
func (Float) StrictEqual ¶
Check whether f is strictly equal to other and return an error if something went wrong.
type Float32 ¶
type Float32 float32
Elk's Float32 value
func (Float32) DirectClass ¶
func (Float32) Exponentiate ¶
Exponentiate by the right value.
func (Float32) InstanceVariables ¶
func (Float32) IsInf ¶
IsInf reports whether f is an infinity, according to sign. If sign > 0, IsInf reports whether f is positive infinity. If sign < 0, IsInf reports whether f is negative infinity. If sign == 0, IsInf reports whether f is either infinity.
func (Float32) SingletonClass ¶
func (Float32) StrictEqual ¶
type Float64 ¶
type Float64 float64
Elk's Float64 value
func (Float64) DirectClass ¶
func (Float64) Exponentiate ¶
Exponentiate by the right value.
func (Float64) InstanceVariables ¶
func (Float64) IsInf ¶
IsInf reports whether f is an infinity, according to sign. If sign > 0, IsInf reports whether f is positive infinity. If sign < 0, IsInf reports whether f is negative infinity. If sign == 0, IsInf reports whether f is either infinity.
func (Float64) SingletonClass ¶
func (Float64) StrictEqual ¶
type Function ¶
type Function interface { Reference // The number of parameters in total ParameterCount() int // The number of optional parameters with default values OptionalParameterCount() int }
Elk function object
type GlobalObjectType ¶
type GlobalObjectType struct{}
func (GlobalObjectType) Class ¶
func (GlobalObjectType) Class() *Class
func (GlobalObjectType) Copy ¶
func (g GlobalObjectType) Copy() Reference
func (GlobalObjectType) DirectClass ¶
func (GlobalObjectType) DirectClass() *Class
func (GlobalObjectType) Error ¶
func (g GlobalObjectType) Error() string
func (GlobalObjectType) Inspect ¶
func (GlobalObjectType) Inspect() string
func (GlobalObjectType) InstanceVariables ¶
func (GlobalObjectType) InstanceVariables() SymbolMap
func (GlobalObjectType) SingletonClass ¶
func (GlobalObjectType) SingletonClass() *Class
type HashMap ¶
func NewHashMap ¶
func (*HashMap) DirectClass ¶
func (*HashMap) InstanceVariables ¶
func (*HashMap) LeftCapacity ¶
func (*HashMap) SingletonClass ¶
type HashMapIterator ¶
func NewHashMapIterator ¶
func NewHashMapIterator(hmap *HashMap) *HashMapIterator
func NewHashMapIteratorWithIndex ¶
func NewHashMapIteratorWithIndex(hmap *HashMap, index int) *HashMapIterator
func (*HashMapIterator) Class ¶
func (*HashMapIterator) Class() *Class
func (*HashMapIterator) Copy ¶
func (h *HashMapIterator) Copy() Reference
func (*HashMapIterator) DirectClass ¶
func (*HashMapIterator) DirectClass() *Class
func (*HashMapIterator) Error ¶
func (h *HashMapIterator) Error() string
func (*HashMapIterator) Inspect ¶
func (h *HashMapIterator) Inspect() string
func (*HashMapIterator) InstanceVariables ¶
func (*HashMapIterator) InstanceVariables() SymbolMap
func (*HashMapIterator) Next ¶
func (h *HashMapIterator) Next() (Value, Value)
func (*HashMapIterator) SingletonClass ¶
func (*HashMapIterator) SingletonClass() *Class
type HashRecord ¶
type HashRecord HashMap
func NewHashRecord ¶
func NewHashRecord(capacity int) *HashRecord
func (*HashRecord) Class ¶
func (*HashRecord) Class() *Class
func (*HashRecord) Copy ¶
func (h *HashRecord) Copy() Reference
func (*HashRecord) DirectClass ¶
func (*HashRecord) DirectClass() *Class
func (*HashRecord) Error ¶
func (h *HashRecord) Error() string
func (*HashRecord) Inspect ¶
func (h *HashRecord) Inspect() string
func (*HashRecord) InstanceVariables ¶
func (*HashRecord) InstanceVariables() SymbolMap
func (*HashRecord) Length ¶
func (h *HashRecord) Length() int
func (*HashRecord) SingletonClass ¶
func (*HashRecord) SingletonClass() *Class
type HashRecordIterator ¶
type HashRecordIterator struct { HashRecord *HashRecord Index int }
func NewHashRecordIterator ¶
func NewHashRecordIterator(hrec *HashRecord) *HashRecordIterator
func NewHashRecordIteratorWithIndex ¶
func NewHashRecordIteratorWithIndex(hrec *HashRecord, index int) *HashRecordIterator
func (*HashRecordIterator) Class ¶
func (*HashRecordIterator) Class() *Class
func (*HashRecordIterator) Copy ¶
func (h *HashRecordIterator) Copy() Reference
func (*HashRecordIterator) DirectClass ¶
func (*HashRecordIterator) DirectClass() *Class
func (*HashRecordIterator) Error ¶
func (h *HashRecordIterator) Error() string
func (*HashRecordIterator) Inspect ¶
func (h *HashRecordIterator) Inspect() string
func (*HashRecordIterator) InstanceVariables ¶
func (*HashRecordIterator) InstanceVariables() SymbolMap
func (*HashRecordIterator) Next ¶
func (h *HashRecordIterator) Next() (Value, Value)
func (*HashRecordIterator) SingletonClass ¶
func (*HashRecordIterator) SingletonClass() *Class
type HashSet ¶
func NewHashSet ¶
func (*HashSet) DirectClass ¶
func (*HashSet) InstanceVariables ¶
func (*HashSet) LeftCapacity ¶
func (*HashSet) SingletonClass ¶
type HashSetIterator ¶
func NewHashSetIterator ¶
func NewHashSetIterator(set *HashSet) *HashSetIterator
func NewHashSetIteratorWithIndex ¶
func NewHashSetIteratorWithIndex(set *HashSet, index int) *HashSetIterator
func (*HashSetIterator) Class ¶
func (*HashSetIterator) Class() *Class
func (*HashSetIterator) Copy ¶
func (h *HashSetIterator) Copy() Reference
func (*HashSetIterator) DirectClass ¶
func (*HashSetIterator) DirectClass() *Class
func (*HashSetIterator) Error ¶
func (h *HashSetIterator) Error() string
func (*HashSetIterator) Inspect ¶
func (h *HashSetIterator) Inspect() string
func (*HashSetIterator) InstanceVariables ¶
func (*HashSetIterator) InstanceVariables() SymbolMap
func (*HashSetIterator) Next ¶
func (h *HashSetIterator) Next() (Value, Value)
func (*HashSetIterator) SingletonClass ¶
func (*HashSetIterator) SingletonClass() *Class
type Inspectable ¶
type Inspectable interface {
Inspect() string
}
type Int16 ¶
type Int16 int16
Elk's Int16 value
func (Int16) BitwiseAnd ¶
Perform a bitwise AND.
func (Int16) BitwiseAndNot ¶
Perform a bitwise AND NOT.
func (Int16) BitwiseXor ¶
Perform a bitwise XOR.
func (Int16) DirectClass ¶
func (Int16) InstanceVariables ¶
func (Int16) SingletonClass ¶
func (Int16) StrictEqual ¶
type Int32 ¶
type Int32 int32
Elk's Int32 value
func (Int32) BitwiseAnd ¶
Perform a bitwise AND.
func (Int32) BitwiseAndNot ¶
Perform a bitwise AND NOT.
func (Int32) BitwiseXor ¶
Perform a bitwise XOR.
func (Int32) DirectClass ¶
func (Int32) InstanceVariables ¶
func (Int32) SingletonClass ¶
func (Int32) StrictEqual ¶
type Int64 ¶
type Int64 int64
Elk's Int64 value
func (Int64) BitwiseAnd ¶
Perform a bitwise AND.
func (Int64) BitwiseAndNot ¶
Perform a bitwise AND NOT.
func (Int64) BitwiseXor ¶
Perform a bitwise XOR.
func (Int64) DirectClass ¶
func (Int64) InstanceVariables ¶
func (Int64) SingletonClass ¶
func (Int64) StrictEqual ¶
type Int8 ¶
type Int8 int8
Elk's Int8 value
func (Int8) BitwiseAndNot ¶
Perform a bitwise AND NOT.
func (Int8) DirectClass ¶
func (Int8) InstanceVariables ¶
func (Int8) SingletonClass ¶
func (Int8) StrictEqual ¶
type Interface ¶
type Interface struct { ConstantContainer // contains filtered or unexported fields }
Represents an Elk interface.
func NewInterfaceWithOptions ¶
func NewInterfaceWithOptions(opts ...InterfaceOption) *Interface
Create a new class.
func (*Interface) DirectClass ¶
func (*Interface) InstanceVariables ¶
func (*Interface) SingletonClass ¶
type InterfaceOption ¶
type InterfaceOption = func(*Interface)
Interface constructor option function
func InterfaceWithName ¶
func InterfaceWithName(name string) InterfaceOption
type LeftOpenRange ¶
Represents a left open range eg. `5<..2`
func NewLeftOpenRange ¶
func NewLeftOpenRange(start, end Value) *LeftOpenRange
Create a new left open range class.
func (*LeftOpenRange) Class ¶
func (*LeftOpenRange) Class() *Class
func (*LeftOpenRange) Copy ¶
func (r *LeftOpenRange) Copy() Reference
func (*LeftOpenRange) DirectClass ¶
func (*LeftOpenRange) DirectClass() *Class
func (*LeftOpenRange) Error ¶
func (r *LeftOpenRange) Error() string
func (*LeftOpenRange) Inspect ¶
func (r *LeftOpenRange) Inspect() string
func (*LeftOpenRange) InstanceVariables ¶
func (r *LeftOpenRange) InstanceVariables() SymbolMap
func (*LeftOpenRange) SingletonClass ¶
func (*LeftOpenRange) SingletonClass() *Class
type LeftOpenRangeIterator ¶
type LeftOpenRangeIterator struct { Range *LeftOpenRange CurrentElement Value }
func NewLeftOpenRangeIterator ¶
func NewLeftOpenRangeIterator(r *LeftOpenRange) *LeftOpenRangeIterator
func NewLeftOpenRangeIteratorWithCurrentElement ¶
func NewLeftOpenRangeIteratorWithCurrentElement(r *LeftOpenRange, currentElement Value) *LeftOpenRangeIterator
func (*LeftOpenRangeIterator) Class ¶
func (*LeftOpenRangeIterator) Class() *Class
func (*LeftOpenRangeIterator) Copy ¶
func (r *LeftOpenRangeIterator) Copy() Reference
func (*LeftOpenRangeIterator) DirectClass ¶
func (*LeftOpenRangeIterator) DirectClass() *Class
func (*LeftOpenRangeIterator) Error ¶
func (r *LeftOpenRangeIterator) Error() string
func (*LeftOpenRangeIterator) Inspect ¶
func (r *LeftOpenRangeIterator) Inspect() string
func (*LeftOpenRangeIterator) InstanceVariables ¶
func (*LeftOpenRangeIterator) InstanceVariables() SymbolMap
func (*LeftOpenRangeIterator) SingletonClass ¶
func (*LeftOpenRangeIterator) SingletonClass() *Class
type MethodContainer ¶
func (*MethodContainer) AttachMethod ¶
func (m *MethodContainer) AttachMethod(name Symbol, method Method)
Attaches the given method under the given name.
func (*MethodContainer) DefineAlias ¶
func (m *MethodContainer) DefineAlias(newMethodName, oldMethodName Symbol)
Define an alternative name for an existing method.
func (*MethodContainer) DefineAliasString ¶
func (m *MethodContainer) DefineAliasString(newMethodName, oldMethodName string)
Define an alternative name for an existing method.
func (*MethodContainer) LookupMethod ¶
func (m *MethodContainer) LookupMethod(name Symbol) Method
Search for a method with the given name in this container and its ancestors.
func (*MethodContainer) Superclass ¶
func (m *MethodContainer) Superclass() *Class
Get the superclass (skipping any mixin proxies)
type Mixin ¶
type Mixin = Class
Represents an Elk Mixin.
var ComparableMixin *Mixin // ::Std::Comparable
var ListMixin *Mixin // ::Std::List
var MapMixin *Mixin // ::Std::Map
var RangeMixin *Mixin // ::Std::Range
var RecordMixin *Mixin // ::Std::Record
var SetMixin *Mixin // ::Std::Set
var TupleMixin *Mixin // ::Std::Tuple
func (*Mixin) CreateProxyClass ¶
Create a proxy class that has a pointer to the method map of this mixin.
Returns two values, the head and tail proxy classes. This is because of the fact that it's possible to include one mixin in another, so there is an entire inheritance chain.
type MixinOption ¶
type MixinOption = func(*Class)
Mixin constructor option function
func MixinWithClass ¶
func MixinWithClass(class *Class) MixinOption
func MixinWithConstants ¶
func MixinWithConstants(constants SymbolMap) MixinOption
func MixinWithMethods ¶
func MixinWithMethods(methods MethodMap) MixinOption
func MixinWithName ¶
func MixinWithName(name string) MixinOption
func MixinWithParent ¶
func MixinWithParent(parent *Class) MixinOption
type Module ¶
type Module struct { ConstantContainer // contains filtered or unexported fields }
Represents an Elk Module.
var DebugModule *Module // ::Std::Debug
var KernelModule *Module // ::Std::Kernel
var RootModule *Module // ::Root
var StdModule *Module // ::Std
func NewModuleWithOptions ¶
func NewModuleWithOptions(opts ...ModuleOption) *Module
Create a new module.
func (*Module) DirectClass ¶
func (*Module) InstanceVariables ¶
func (*Module) SetDirectClass ¶
func (*Module) SingletonClass ¶
type ModuleOption ¶
type ModuleOption func(*Module)
Module constructor option function.
func ModuleWithClass ¶
func ModuleWithClass(class *Class) ModuleOption
func ModuleWithConstants ¶
func ModuleWithConstants(constants SymbolMap) ModuleOption
func ModuleWithName ¶
func ModuleWithName(name string) ModuleOption
func ModuleWithSingletonClass ¶
func ModuleWithSingletonClass() ModuleOption
type NilType ¶
type NilType struct{}
func (NilType) DirectClass ¶
func (NilType) InstanceVariables ¶
func (NilType) SingletonClass ¶
type Object ¶
type Object struct {
// contains filtered or unexported fields
}
var NotBuiltinError *Object
func NewArgumentTypeError ¶
Create a new error that signals that the type of the given argument is wrong.
func NewBigFloatPrecisionError ¶
Create a new error that signals that the big float precision is out of range (negative or too large).
func NewBitshiftOperandError ¶
Create a new error which signals that the given operand is not suitable for bit shifting
func NewCantAccessInstanceVariablesOnPrimitiveError ¶
Create a new error that signals that accessing instance variables of primitive values is impossible.
func NewCantSetInstanceVariablesOnPrimitiveError ¶
Create a new error that signals that setting instance variables of primitive values is impossible.
func NewCapacityTypeError ¶
Create a new error which signals that the value can't be used as capacity.
func NewCoerceError ¶
Create a new error which signals that a value of one type cannot be coerced into the other type.
func NewDuplicatedArgumentError ¶
Create a new error that signals that an argument is duplicated
func NewIndexOutOfRangeError ¶
Create a new error that signals that the given index is out of range.
func NewInvalidSuperclassError ¶
Create a new error that signals that the given superclass is not a valid class object.
func NewIsNotClassError ¶
Create a new error that signals that the given value is not a class, even though it should be.
func NewIsNotClassOrMixinError ¶
Create a new error that signals that the given value is not a class or mixin, even though it should be.
func NewIsNotMixinError ¶
Create a new error that signals that the given value is not a mixin, even though it should be.
func NewModifierMismatchError ¶
Create a new error that signals that the given class should have different modifiers.
func NewNegativeCapacityError ¶
Create a new error that signals that the given capacity should not be negative.
func NewNegativeIndicesInCollectionLiteralsError ¶
Create a new error that signals that negative indices cannot be used in collection literals.
func NewNoMethodError ¶
Create a new Std::NoMethodError.
func NewRedefinedConstantError ¶
Create a new Std::RedefinedConstantError
func NewRequiredArgumentMissingError ¶
Create a new error that signals that a required argument was not given.
func NewSingletonError ¶
Create a new error that signals that the given object cannot have a singleton class.
func NewSuperclassMismatchError ¶
Create a new error that signals that the given superclass doesn't match the original one.
func NewTooLargeCapacityError ¶
Create a new error that signals that the given capacity is too large.
func NewUnexpectedNilError ¶
func NewUnexpectedNilError() *Object
Create a new error which signals that a `nil` value has been encountered in a `must` expression
func NewUnknownArgumentsError ¶
Create a new error that signals that some given arguments are not defined in the method.
func NewWrongArgumentCountError ¶
Create a new error that signals that the number of given arguments is wrong.
func NewWrongArgumentCountRangeError ¶
Create a new error that signals that the number of given arguments is not within the accepted range.
func NewWrongArgumentCountRestError ¶
Create a new error that signals that the number of given arguments is not within the accepted range. For methods with rest parameters.
func NewWrongPositionalArgumentCountError ¶
Create a new error that signals that the number of given arguments is not within the accepted range. For methods with rest parameters.
func NewZeroDivisionError ¶
func NewZeroDivisionError() *Object
Create a new error which signals that a the program tried to divide by zero.
func (*Object) DirectClass ¶
func (*Object) InstanceVariables ¶
func (*Object) SingletonClass ¶
type ObjectOption ¶
type ObjectOption = func(*Object)
Class constructor option function
func ObjectWithClass ¶
func ObjectWithClass(class *Class) ObjectOption
func ObjectWithInstanceVariables ¶
func ObjectWithInstanceVariables(ivars SymbolMap) ObjectOption
type OpenRange ¶
Represents an open range eg. `5<.<2`
func (*OpenRange) DirectClass ¶
func (*OpenRange) InstanceVariables ¶
func (*OpenRange) SingletonClass ¶
type OpenRangeIterator ¶
func NewOpenRangeIterator ¶
func NewOpenRangeIterator(r *OpenRange) *OpenRangeIterator
func NewOpenRangeIteratorWithCurrentElement ¶
func NewOpenRangeIteratorWithCurrentElement(r *OpenRange, currentElement Value) *OpenRangeIterator
func (*OpenRangeIterator) Class ¶
func (*OpenRangeIterator) Class() *Class
func (*OpenRangeIterator) Copy ¶
func (r *OpenRangeIterator) Copy() Reference
func (*OpenRangeIterator) DirectClass ¶
func (*OpenRangeIterator) DirectClass() *Class
func (*OpenRangeIterator) Error ¶
func (r *OpenRangeIterator) Error() string
func (*OpenRangeIterator) Inspect ¶
func (r *OpenRangeIterator) Inspect() string
func (*OpenRangeIterator) InstanceVariables ¶
func (*OpenRangeIterator) InstanceVariables() SymbolMap
func (*OpenRangeIterator) SingletonClass ¶
func (*OpenRangeIterator) SingletonClass() *Class
type Pair ¶
func (*Pair) DirectClass ¶
func (*Pair) InstanceVariables ¶
func (*Pair) SingletonClass ¶
func (*Pair) SubscriptSet ¶
Set an element under the given index.
type PairIterator ¶
func NewPairIterator ¶
func NewPairIterator(pair *Pair) *PairIterator
func NewPairIteratorWithIndex ¶
func NewPairIteratorWithIndex(pair *Pair, index int) *PairIterator
func (*PairIterator) Class ¶
func (*PairIterator) Class() *Class
func (*PairIterator) Copy ¶
func (l *PairIterator) Copy() Reference
func (*PairIterator) DirectClass ¶
func (*PairIterator) DirectClass() *Class
func (*PairIterator) Error ¶
func (l *PairIterator) Error() string
func (*PairIterator) Inspect ¶
func (l *PairIterator) Inspect() string
func (*PairIterator) InstanceVariables ¶
func (*PairIterator) InstanceVariables() SymbolMap
func (*PairIterator) Next ¶
func (l *PairIterator) Next() (Value, Value)
func (*PairIterator) SingletonClass ¶
func (*PairIterator) SingletonClass() *Class
type Reference ¶
type Reference interface { Class() *Class // Return the class of the value DirectClass() *Class // Return the direct class of this value that will be searched for methods first SingletonClass() *Class // Return the singleton class of this value that holds methods unique to this object Inspect() string // Returns the string representation of the value InstanceVariables() SymbolMap // Returns the map of instance vars of this value, nil if value doesn't support instance vars Copy() Reference // Creates a shallow copy of the reference. If the value is immutable, no copying should be done, the same value should be returned. Error() string // Implements the error interface }
Elk Reference Value
type Regex ¶
Elk's compiled regex
func (*Regex) DirectClass ¶
func (*Regex) InstanceVariables ¶
func (*Regex) SingletonClass ¶
func (*Regex) ToStringWithFlags ¶
func (*Regex) WriteSourceTo ¶
func (r *Regex) WriteSourceTo(w io.StringWriter)
type RightOpenRange ¶
Represents a right open range eg. `5..<2`
func NewRightOpenRange ¶
func NewRightOpenRange(start, end Value) *RightOpenRange
Create a new right open range class.
func (*RightOpenRange) Class ¶
func (*RightOpenRange) Class() *Class
func (*RightOpenRange) Copy ¶
func (r *RightOpenRange) Copy() Reference
func (*RightOpenRange) DirectClass ¶
func (*RightOpenRange) DirectClass() *Class
func (*RightOpenRange) Error ¶
func (r *RightOpenRange) Error() string
func (*RightOpenRange) Inspect ¶
func (r *RightOpenRange) Inspect() string
func (*RightOpenRange) InstanceVariables ¶
func (r *RightOpenRange) InstanceVariables() SymbolMap
func (*RightOpenRange) SingletonClass ¶
func (*RightOpenRange) SingletonClass() *Class
type RightOpenRangeIterator ¶
type RightOpenRangeIterator struct { Range *RightOpenRange CurrentElement Value }
func NewRightOpenRangeIterator ¶
func NewRightOpenRangeIterator(r *RightOpenRange) *RightOpenRangeIterator
func NewRightOpenRangeIteratorWithCurrentElement ¶
func NewRightOpenRangeIteratorWithCurrentElement(r *RightOpenRange, currentElement Value) *RightOpenRangeIterator
func (*RightOpenRangeIterator) Class ¶
func (*RightOpenRangeIterator) Class() *Class
func (*RightOpenRangeIterator) Copy ¶
func (r *RightOpenRangeIterator) Copy() Reference
func (*RightOpenRangeIterator) DirectClass ¶
func (*RightOpenRangeIterator) DirectClass() *Class
func (*RightOpenRangeIterator) Error ¶
func (r *RightOpenRangeIterator) Error() string
func (*RightOpenRangeIterator) Inspect ¶
func (r *RightOpenRangeIterator) Inspect() string
func (*RightOpenRangeIterator) InstanceVariables ¶
func (*RightOpenRangeIterator) InstanceVariables() SymbolMap
func (*RightOpenRangeIterator) SingletonClass ¶
func (*RightOpenRangeIterator) SingletonClass() *Class
type SimpleInt ¶
type SimpleInt interface { SmallInt | Int64 | Int32 | Int16 | Int8 | UInt64 | UInt32 | UInt16 | UInt8 }
All simple Elk integer types (without BigInt)
type SmallInt ¶
type SmallInt int
Elk's SmallInt value
func (SmallInt) AddOverflow ¶
Add two small ints and check for overflow/underflow.
func (SmallInt) BitwiseAnd ¶
Perform a bitwise AND with another integer value and return an error if something went wrong.
func (SmallInt) BitwiseAndNot ¶
Perform a bitwise AND NOT with another integer value and return an error if something went wrong.
func (SmallInt) BitwiseOr ¶
Perform a bitwise OR with another integer value and return an error if something went wrong.
func (SmallInt) BitwiseXor ¶
Perform a bitwise XOR with another integer value and return an error if something went wrong.
func (SmallInt) Compare ¶
Returns 1 if i is greater than other Returns 0 if both are equal. Returns -1 if i is less than other. Returns nil if the comparison was impossible (NaN)
func (SmallInt) DirectClass ¶
func (SmallInt) DivideOverflow ¶
Divide two small ints and check for overflow/underflow.
func (SmallInt) Exponentiate ¶
Exponentiate by another value and return an error if something went wrong.
func (SmallInt) GreaterThan ¶
Check whether i is greater than other and return an error if something went wrong.
func (SmallInt) GreaterThanBool ¶
Check whether i is greater than other and return an error if something went wrong.
func (SmallInt) GreaterThanEqual ¶
Check whether i is greater than or equal to other and return an error if something went wrong.
func (SmallInt) GreaterThanEqualBool ¶
Check whether i is greater than or equal to other and return an error if something went wrong.
func (SmallInt) InstanceVariables ¶
func (SmallInt) LeftBitshift ¶
Bitshift to the left by another integer value and return an error if something went wrong.
func (SmallInt) LessThan ¶
Check whether i is less than other and return an error if something went wrong.
func (SmallInt) LessThanBool ¶
Check whether i is less than other and return an error if something went wrong.
func (SmallInt) LessThanEqual ¶
Check whether i is less than or equal to other and return an error if something went wrong.
func (SmallInt) LessThanEqualBool ¶
Check whether i is less than or equal to other and return an error if something went wrong.
func (SmallInt) Microseconds ¶
func (SmallInt) Milliseconds ¶
func (SmallInt) Modulo ¶
Perform modulo by another numeric value and return an error if something went wrong.
func (SmallInt) MultiplyOverflow ¶
Multiply two small ints and check for overflow/underflow.
func (SmallInt) Nanoseconds ¶
func (SmallInt) RightBitshift ¶
Bitshift to the right by another integer value and return an error if something went wrong.
func (SmallInt) SingletonClass ¶
func (SmallInt) StrictEqual ¶
Check whether i is strictly equal to other
func (SmallInt) StrictEqualBool ¶
Check whether i is strictly equal to other
func (SmallInt) SubtractOverflow ¶
Subtract two small ints and check for overflow/underflow.
type StrictFloat ¶
Strict floats are sized and cannot be automatically coerced to other types.
type StrictNumeric ¶
type StrictNumeric interface { Float64 | Float32 | Int64 | Int32 | Int16 | Int8 | UInt64 | UInt32 | UInt16 | UInt8 }
Strict numerics are sized and cannot be automatically coerced to other types.
type StrictSignedInt ¶
Strict signed integers are sized and cannot be automatically coerced to other types.
type StrictUnsignedInt ¶
Strict unsigned integers are sized and cannot be automatically coerced to other types.
type String ¶
type String string
Elk's String value
func (String) Compare ¶
Returns 1 if i is greater than other Returns 0 if both are equal. Returns -1 if i is less than other. Returns nil if the comparison was impossible (NaN)
func (String) Concat ¶
Concatenate another value with this string and return the result. If the operation is illegal an error will be returned.
func (String) DirectClass ¶
func (String) GraphemeAt ¶
Get the grapheme under the given index.
func (String) GraphemeAtInt ¶
Get the grapheme under the given index.
func (String) GraphemeCount ¶
Returns the number of grapheme clusters present in the string.
func (String) GreaterThan ¶
Check whether s is greater than other and return an error if something went wrong.
func (String) GreaterThanEqual ¶
Check whether s is greater than or equal to other and return an error if something went wrong.
func (String) InstanceVariables ¶
func (String) LessThan ¶
Check whether s is less than other and return an error if something went wrong.
func (String) LessThanEqual ¶
Check whether s is less than or equal to other and return an error if something went wrong.
func (String) RemoveSuffix ¶
Return a copy of the string without the given suffix.
func (String) Repeat ¶
Repeat the content of this string n times and return a new string containing the result. If the operation is illegal an error will be returned.
func (String) ReverseChars ¶
Reverse the string while preserving the UTF-8 chars.
func (String) ReverseGraphemes ¶
Reverse the string while preserving the grapheme clusters.
func (String) SingletonClass ¶
func (String) StrictEqual ¶
Check whether s is strictly equal to other
type StringByteIterator ¶
func NewStringByteIterator ¶
func NewStringByteIterator(str String) *StringByteIterator
func NewStringByteIteratorWithByteOffset ¶
func NewStringByteIteratorWithByteOffset(str String, offset int) *StringByteIterator
func (*StringByteIterator) Class ¶
func (*StringByteIterator) Class() *Class
func (*StringByteIterator) Copy ¶
func (s *StringByteIterator) Copy() Reference
func (*StringByteIterator) DirectClass ¶
func (*StringByteIterator) DirectClass() *Class
func (*StringByteIterator) Error ¶
func (s *StringByteIterator) Error() string
func (*StringByteIterator) Inspect ¶
func (s *StringByteIterator) Inspect() string
func (*StringByteIterator) InstanceVariables ¶
func (*StringByteIterator) InstanceVariables() SymbolMap
func (*StringByteIterator) Next ¶
func (s *StringByteIterator) Next() (Value, Value)
func (*StringByteIterator) SingletonClass ¶
func (*StringByteIterator) SingletonClass() *Class
type StringCharIterator ¶
func NewStringCharIterator ¶
func NewStringCharIterator(str String) *StringCharIterator
func NewStringCharIteratorWithByteOffset ¶
func NewStringCharIteratorWithByteOffset(str String, offset int) *StringCharIterator
func (*StringCharIterator) Class ¶
func (*StringCharIterator) Class() *Class
func (*StringCharIterator) Copy ¶
func (s *StringCharIterator) Copy() Reference
func (*StringCharIterator) DirectClass ¶
func (*StringCharIterator) DirectClass() *Class
func (*StringCharIterator) Error ¶
func (s *StringCharIterator) Error() string
func (*StringCharIterator) Inspect ¶
func (s *StringCharIterator) Inspect() string
func (*StringCharIterator) InstanceVariables ¶
func (*StringCharIterator) InstanceVariables() SymbolMap
func (*StringCharIterator) Next ¶
func (s *StringCharIterator) Next() (Value, Value)
func (*StringCharIterator) SingletonClass ¶
func (*StringCharIterator) SingletonClass() *Class
type Symbol ¶
type Symbol int
Numerical ID of a particular symbol.
func (Symbol) DirectClass ¶
func (Symbol) InspectContent ¶
func (Symbol) InstanceVariables ¶
func (Symbol) SingletonClass ¶
func (Symbol) StrictEqual ¶
Check whether s is equal to other
type SymbolMap ¶
Simple map with symbol keys.
func (SymbolMap) DeleteString ¶
func (SymbolMap) DirectClass ¶
func (SymbolMap) InstanceVariables ¶
func (SymbolMap) SingletonClass ¶
type SymbolTableOption ¶
type SymbolTableOption func(*SymbolTableStruct)
func SymbolTableWithIdTable ¶
func SymbolTableWithIdTable(idTable []string) SymbolTableOption
func SymbolTableWithNameTable ¶
func SymbolTableWithNameTable(nameTable map[string]Symbol) SymbolTableOption
type SymbolTableStruct ¶
type SymbolTableStruct struct {
// contains filtered or unexported fields
}
Data structure that holds Elk Symbols.
var SymbolTable *SymbolTableStruct = NewSymbolTable()
The global Symbol Table of the Elk interpreter.
func NewSymbolTable ¶
func NewSymbolTable(opts ...SymbolTableOption) *SymbolTableStruct
func (*SymbolTableStruct) Add ¶
func (s *SymbolTableStruct) Add(name string) Symbol
Add a new symbol with the specified name. This function is idempotent, if the Symbol already exists nothing happens and a pointer to it gets returned. This function is thread-safe.
func (*SymbolTableStruct) Exists ¶
func (s *SymbolTableStruct) Exists(name string) bool
Check if a symbol with the given name exists. This function is thread-safe.
func (*SymbolTableStruct) ExistsId ¶
func (s *SymbolTableStruct) ExistsId(symbol Symbol) bool
Check if a given symbol exists.
type Time ¶
Elk's Time value
func (*Time) AbbreviatedMonthName ¶
func (*Time) AbbreviatedWeekdayName ¶
func (*Time) Attosecond ¶
func (*Time) DirectClass ¶
func (*Time) Femtosecond ¶
func (*Time) GreaterThan ¶
Check whether t is greater than other and return an error if something went wrong.
func (*Time) GreaterThanEqual ¶
Check whether t is greater than or equal to other and return an error if something went wrong.
func (*Time) ISOYearLastTwo ¶
func (*Time) InstanceVariables ¶
func (*Time) IsSaturday ¶
func (*Time) IsThursday ¶
func (*Time) IsWednesday ¶
func (*Time) LessThan ¶
Check whether t is less than other and return an error if something went wrong.
func (*Time) LessThanEqual ¶
Check whether t is less than or equal to other and return an error if something went wrong.
func (*Time) MeridiemLowercase ¶
func (*Time) Microsecond ¶
func (*Time) Millisecond ¶
func (*Time) MustFormat ¶
func (*Time) Nanosecond ¶
func (*Time) Picosecond ¶
func (*Time) SingletonClass ¶
func (*Time) StrictEqual ¶
func (*Time) UnixAttoseconds ¶
func (*Time) UnixFemtoseconds ¶
func (*Time) UnixMicroseconds ¶
func (*Time) UnixMilliseconds ¶
func (*Time) UnixNanoseconds ¶
func (*Time) UnixPicoseconds ¶
func (*Time) UnixSeconds ¶
func (*Time) UnixYoctoseconds ¶
func (*Time) UnixZeptoseconds ¶
func (*Time) WeekFromMonday ¶
The week number of the current year as a decimal number, range 00 to 53, starting with the first Monday as the first day of week 01.
func (*Time) WeekFromSunday ¶
The week number of the current year as a decimal number, range 00 to 53, starting with the first Sunday as the first day of week 01.
func (*Time) WeekdayFromMonday ¶
Specifies the day of the week (Monday = 1, ...).
func (*Time) WeekdayFromSunday ¶
Specifies the day of the week (Sunday = 0, ...).
func (*Time) WeekdayName ¶
func (*Time) YearLastTwo ¶
func (*Time) Yoctosecond ¶
func (*Time) Zeptosecond ¶
func (*Time) ZoneAbbreviatedName ¶
func (*Time) ZoneOffsetHourMinutes ¶
func (*Time) ZoneOffsetHours ¶
func (*Time) ZoneOffsetSeconds ¶
type Timezone ¶
Elk's Timezone value
func MustLoadTimezone ¶
func (*Timezone) DirectClass ¶
func (*Timezone) InstanceVariables ¶
func (*Timezone) SingletonClass ¶
func (*Timezone) ToGoLocation ¶
type TrueType ¶
type TrueType struct{}
func (TrueType) DirectClass ¶
func (TrueType) InstanceVariables ¶
func (TrueType) SingletonClass ¶
type UInt16 ¶
type UInt16 uint16
Elk's UInt16 value
func (UInt16) BitwiseAnd ¶
Perform a bitwise AND.
func (UInt16) BitwiseAndNot ¶
Perform a bitwise AND NOT.
func (UInt16) BitwiseXor ¶
Perform a bitwise XOR.
func (UInt16) DirectClass ¶
func (UInt16) InstanceVariables ¶
func (UInt16) SingletonClass ¶
func (UInt16) StrictEqual ¶
type UInt32 ¶
type UInt32 uint32
Elk's UInt32 value
func (UInt32) BitwiseAnd ¶
Perform a bitwise AND.
func (UInt32) BitwiseAndNot ¶
Perform a bitwise AND NOT.
func (UInt32) BitwiseXor ¶
Perform a bitwise XOR.
func (UInt32) DirectClass ¶
func (UInt32) InstanceVariables ¶
func (UInt32) SingletonClass ¶
func (UInt32) StrictEqual ¶
type UInt64 ¶
type UInt64 uint64
Elk's UInt64 value
func (UInt64) BitwiseAnd ¶
Perform a bitwise AND.
func (UInt64) BitwiseAndNot ¶
Perform a bitwise AND NOT.
func (UInt64) BitwiseXor ¶
Perform a bitwise XOR.
func (UInt64) DirectClass ¶
func (UInt64) InstanceVariables ¶
func (UInt64) SingletonClass ¶
func (UInt64) StrictEqual ¶
type UInt8 ¶
type UInt8 uint8
Elk's UInt8 value
func (UInt8) BitwiseAnd ¶
Perform a bitwise AND.
func (UInt8) BitwiseAndNot ¶
Perform a bitwise AND NOT.
func (UInt8) BitwiseXor ¶
Perform a bitwise XOR.
func (UInt8) DirectClass ¶
func (UInt8) InstanceVariables ¶
func (UInt8) SingletonClass ¶
func (UInt8) StrictEqual ¶
type UndefinedType ¶
type UndefinedType struct{}
Elk's internal undefined value. Serves as a sentinel value that indicates that no "real" value is present.
It is the zero value of `Value` and maps to Go's `nil`
func (UndefinedType) Class ¶
func (UndefinedType) Class() *Class
func (UndefinedType) DirectClass ¶
func (UndefinedType) DirectClass() *Class
func (UndefinedType) Error ¶
func (u UndefinedType) Error() string
func (UndefinedType) Inspect ¶
func (UndefinedType) Inspect() string
func (UndefinedType) InstanceVariables ¶
func (UndefinedType) InstanceVariables() SymbolMap
func (UndefinedType) SingletonClass ¶
func (UndefinedType) SingletonClass() *Class
func (UndefinedType) ToValue ¶
func (u UndefinedType) ToValue() Value
type Value ¶
type Value struct {
// contains filtered or unexported fields
}
`undefined` is the zero value of `Value`, it maps directly to Go `nil`
func Add ¶
Add two values. When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func BitwiseAnd ¶
Execute a bitwise AND &. When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func BitwiseAndNot ¶
Execute a bitwise AND NOT &^. When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func BitwiseNot ¶
Perform bitwise not on a value When successful returns result. When there are no builtin negation functions for the given type returns nil.
func BitwiseOr ¶
Execute a bitwise OR |. When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func BitwiseXor ¶
Execute a bitwise XOR ^. When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func ClassConstructor ¶
Used by the VM, create a new class.
func Compare ¶
Compare two values. Returns 1 if left is greater than right. Returns 0 if both are equal. Returns -1 if left is less than right.
When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func Decrement ¶
Decrement a value When successful returns result. When there are no builtin negation functions for the given type returns nil.
func Divide ¶
Divide two values When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func Equal ¶
Check whether left is equal to right. When successful returns (result). When there are no builtin addition functions for the given type returns (undefined).
func Exponentiate ¶
Exponentiate two values When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func GreaterThan ¶
Check whether left is greater than right. When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func GreaterThanEqual ¶
Check whether left is greater than or equal to right. When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func Increment ¶
Increment a value When successful returns result. When there are no builtin negation functions for the given type returns nil.
func InterfaceConstructor ¶
Used by the VM, create a new interface value.
func LaxEqual ¶
Check whether left is equal to right. When successful returns (result). When there are no builtin addition functions for the given type returns (nil).
func LaxNotEqual ¶
Check whether left is not equal to right. When successful returns (result). When there are no builtin addition functions for the given type returns (nil).
func LeftBitshift ¶
Execute a left bit shift <<. When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func LessThan ¶
Check whether left is less than right. When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func LessThanEqual ¶
Check whether left is less than or equal to right. When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func LogicalLeftBitshift ¶
Execute a logical left bit shift <<<. When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func LogicalRightBitshift ¶
Execute a logical right bit shift >>>. When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func MixinConstructor ¶
Used by the VM, create a new mixin.
func ModuleConstructor ¶
Used by the VM, create a new module value.
func Modulo ¶
Perform modulo on two values When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func Multiply ¶
Multiply two values When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func Negate ¶
Negate a value When successful returns result. When there are no builtin negation functions for the given type returns nil.
func NotEqual ¶
Check whether left is not equal to right. When successful returns (result). When there are no builtin addition functions for the given type returns (nil).
func RightBitshift ¶
Execute a right bit shift >>. When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func SetInSlice ¶
Set an element under the given index.
func StrictEqual ¶
Check whether left is strictly equal to right. When successful returns (result). When there are no builtin addition functions for the given type returns (nil).
func StrictFloatLaxEqual ¶
func StrictFloatLaxEqual[T StrictFloat](left T, right Value) Value
Check whether the left float is equal to right.
func StrictIntLeftBitshift ¶
Bitshift a strict int to the left.
func StrictIntLogicalLeftBitshift ¶
func StrictIntLogicalLeftBitshift[T StrictInt](left T, right Value, shiftFunc logicalShiftFunc[T]) (T, Value)
Bitshift a strict int to the left.
func StrictIntLogicalRightBitshift ¶
func StrictIntLogicalRightBitshift[T StrictInt](left T, right Value, shiftFunc logicalShiftFunc[T]) (T, Value)
Logically bitshift a strict int to the right.
func StrictIntRightBitshift ¶
Bitshift a strict int to the right.
func StrictNotEqual ¶
Check whether left is strictly not equal to right. When successful returns (result). When there are no builtin addition functions for the given type returns (nil).
func StrictParseInt ¶
Parses a signed strict integer from a string using Elk syntax.
func StrictParseUint ¶
Parses an unsigned strict integer from a string using Elk syntax.
func StrictSignedIntLaxEqual ¶
func StrictSignedIntLaxEqual[T StrictSignedInt](left T, right Value) Value
Check whether the left signed integer is equal to right.
func StrictUnsignedIntLaxEqual ¶
func StrictUnsignedIntLaxEqual[T StrictUnsignedInt](left T, right Value) Value
Check whether the left unsigned integer is equal to right.
func Subscript ¶
Get an element by key. When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func SubscriptSet ¶
Set an element under the given key. When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func Subtract ¶
Subtract two values When successful returns (result, undefined). When an error occurred returns (undefined, error). When there are no builtin addition functions for the given type returns (undefined, undefined).
func UnaryPlus ¶
Perform unary plus on a value When successful returns result. When there are no builtin negation functions for the given type returns nil.
func (Value) AsDuration ¶
func (Value) AsReference ¶
func (Value) AsSmallInt ¶
func (Value) AsUndefined ¶
func (v Value) AsUndefined() UndefinedType
func (Value) DirectClass ¶
func (Value) InstanceVariables ¶
func (Value) IsDuration ¶
func (Value) IsInlineValue ¶
func (Value) IsReference ¶
func (Value) IsSmallInt ¶
func (Value) IsUndefined ¶
func (Value) MustDuration ¶
func (Value) MustFloat32 ¶
func (Value) MustFloat64 ¶
func (Value) MustReference ¶
func (Value) MustSmallInt ¶
func (Value) MustSymbol ¶
func (Value) MustUInt16 ¶
func (Value) MustUInt32 ¶
func (Value) MustUInt64 ¶
func (Value) MustUndefined ¶
func (v Value) MustUndefined() UndefinedType
func (Value) SafeAsReference ¶
Returns `nil` when the value is not a reference
func (Value) SingletonClass ¶
Source Files
¶
- array_list.go
- array_tuple.go
- beginless_closed_range.go
- beginless_open_range.go
- big_float.go
- big_int.go
- bool.go
- call_site_info.go
- char.go
- class.go
- closed_range.go
- comparable.go
- constant_container.go
- debug.go
- duration.go
- duration_64sys.go
- endless_closed_range.go
- endless_open_range.go
- error.go
- false.go
- float.go
- float32.go
- float64.go
- float64_64sys.go
- float_64sys.go
- function.go
- global_object.go
- hash_map.go
- hash_record.go
- hash_set.go
- init.go
- int.go
- int16.go
- int32.go
- int64.go
- int64_64sys.go
- int8.go
- interface.go
- kernel.go
- left_open_range.go
- list.go
- map.go
- method.go
- method_container.go
- method_map.go
- mixin.go
- module.go
- nil.go
- object.go
- open_range.go
- pair.go
- range.go
- record.go
- regex.go
- right_open_range.go
- set.go
- small_int.go
- strict_numeric.go
- string.go
- symbol.go
- symbol_map.go
- symbol_table.go
- time.go
- timezone.go
- true.go
- tuple.go
- uint16.go
- uint32.go
- uint64.go
- uint64_64sys.go
- uint8.go
- undefined.go
- value.go
Directories
¶
Path | Synopsis |
---|---|
Package timescanner implements a tokenizer/lexer that analyses Elk time format strings.
|
Package timescanner implements a tokenizer/lexer that analyses Elk time format strings. |