Documentation ¶
Index ¶
- Constants
- Variables
- func AddContext(env *Env, err error, str string, args ...any) error
- func AddNativeNamespace(name string, setup NativeSetup)
- func AssertInts(env *Env, args []any) (Int, Int, error)
- func Assertio_Reader(env *Env, obj any, msg string) (io.Reader, error)
- func Assertio_RuneReader(env *Env, obj any, msg string) (io.RuneReader, error)
- func Assertio_Writer(env *Env, obj any, msg string) (io.Writer, error)
- func CallVar(env *Env, varName string, args ...any) (any, error)
- func Cast[A any](env *Env, obj any, a *A) error
- func CastReflect[T any](env *Env, obj any, v *T) error
- func CheckArity(env *Env, args []any, min int, max int) error
- func ClearMeta(obj any)
- func CoerceString(env *Env, obj any, a *string) error
- func CombineToString(env *Env, args []any) (any, error)
- func CompareNumbers(x Number, y Number) int
- func ConcatSimple(env *Env, args []any) (any, error)
- func Conj(env *Env, col any, val any) (any, error)
- func Cons(env *Env, val any, seq Seqable) (any, error)
- func ConvertToSeq(env *Env, s Seqable) (any, error)
- func DeriveReadObject(base any, obj any) any
- func DisplayError(env *Env, err error)
- func EngineRun(env *Env, fn *Fn) (any, error)
- func Ensureio_Reader(env *Env, args []any, index int) (io.Reader, error)
- func Ensureio_RuneReader(env *Env, args []any, index int) (io.RuneReader, error)
- func Ensureio_Writer(env *Env, args []any, index int) (io.Writer, error)
- func Equals(env *Env, a, b any) bool
- func EqualsValues(env *Env, a, b any) (any, error)
- func ErrorArity(env *Env, n int) error
- func ErrorArityMinMax(env *Env, n, min, max int) error
- func Errorf(env *Env, str string, args ...any) error
- func Eval(genv *Env, expr Expr, env *LocalEnv) (any, error)
- func ExtractBoolean(env *Env, args []any, index int) (bool, error)
- func ExtractChar(env *Env, args []any, index int) (rune, error)
- func ExtractDouble(env *Env, args []any, index int) (float64, error)
- func ExtractIOReader(env *Env, args []any, index int) (io.Reader, error)
- func ExtractIOWriter(env *Env, args []any, index int) (io.Writer, error)
- func ExtractInt(env *Env, args []any, index int) (int, error)
- func ExtractKeyword(env *Env, args []any, index int) (string, error)
- func ExtractObject(env *Env, args []any, index int) (any, error)
- func ExtractOpaque[T any](env *Env, obj any, dest *T) error
- func ExtractRegex(env *Env, args []any, index int) (*regexp.Regexp, error)
- func ExtractString(env *Env, args []any, index int) (string, error)
- func ExtractStringable(env *Env, args []any, index int) (string, error)
- func ExtractStrings(env *Env, args []any, index int) ([]string, error)
- func ExtractTime(env *Env, args []any, index int) (time.Time, error)
- func First(env *Env, s Seqable) (any, error)
- func Fourth(env *Env, seq Seq) (any, error)
- func GetType(obj any) any
- func HashPtr[T any](val *T) uint32
- func HashValue(env *Env, obj any) (uint32, error)
- func IsEqualOrImplements(at reflect.Type, ct reflect.Type) bool
- func IsInstance(env *Env, t Type, obj any) bool
- func IsSeq(obj any) bool
- func IsSeqEqual(env *Env, seq Seq, other interface{}) bool
- func IsSpecialSymbol(obj any) bool
- func IsSymbol(obj any) bool
- func IsVector(obj any) bool
- func Load(env *Env, libname string) (any, error)
- func LoadLibFromPath(env *Env, libnamev Symbol, pathnamev String) (any, error)
- func MakeList(env *Env, args []any) (any, error)
- func MakeReadObject(reader *Reader, obj any) any
- func MarshalCode(env *Env, code *Code) ([]byte, error)
- func Next(env *Env, s Seqable) (any, error)
- func PopulateNativeNamespaceToEnv(env *Env, name string) (bool, error)
- func PopulateNativeNamespacesToEnv(env *Env) error
- func PrintObject(env *Env, obj any, w io.Writer)
- func ProcessLinterFile(env *Env, configDir string, filename string) error
- func ProcessLinterFiles(env *Env, dialect Dialect, filename string, workingDir string) error
- func ProcessReader(env *Env, reader *Reader, filename string) (any, error)
- func ProcessReaderFromEval(env *Env, reader *Reader, filename string) error
- func PushBindings(env *Env, assoc Map) (any, error)
- func Read(env *Env, reader *Reader) (any, bool, error)
- func ReadConfig(env *Env, filename string, workingDir string) error
- func ReadIntoBytecode(env *Env, reader *Reader, filename string) ([]byte, error)
- func ResetUsage(env *Env)
- func Rest(env *Env, s Seqable) (any, error)
- func ReturnArityMinMax(env *Env, n, min, max int) error
- func RunFile(env *Env, filename string) error
- func SError(env *Env, cat, str string, args ...any) error
- func Second(env *Env, seq Seq) (any, error)
- func SeqCount(env *Env, seq Seq) (int, error)
- func SeqNth(env *Env, seq Seq, n int) (any, error)
- func SeqToString(env *Env, seq Seq, escape bool) (string, error)
- func SeqTryNth(env *Env, seq Seq, n int, d any) (any, error)
- func SeqsEqual(env *Env, seq1, seq2 Seq) bool
- func SetBindings(env *Env, assoc Associative) (any, error)
- func SetExit(fn func(rc int))
- func SetInfo(obj any, info *ObjectInfo) any
- func SimpleToString(obj any) string
- func StartGoRoutine(parent *Env, callable Callable) (any, error)
- func Third(env *Env, seq Seq) (any, error)
- func ToBool(obj any) bool
- func ToNative(env *Env, obj any) (any, error)
- func ToSlice(env *Env, seq Seq) ([]any, error)
- func ToString(env *Env, obj any) (string, error)
- func TryCoerceString(obj any, a *string) bool
- func TryEval(env *Env, expr Expr) (obj any, err error)
- func TryRead(env *Env, reader *Reader) (obj any, err error)
- func TypeName(obj any) string
- func WarnOnGloballyUnusedNamespaces(env *Env)
- func WarnOnGloballyUnusedVars(env *Env)
- func WarnOnUnusedNamespaces(env *Env)
- func WarnOnUnusedVars(env *Env)
- func WrapToProc0_0(fn func()) any
- func WrapToProc0_1[O any](fn func() O) any
- func WrapToProc0_2[O, O2 any](fn func() (O, O2)) any
- func WrapToProc1_0[A any](fn func(a A)) any
- func WrapToProc1_1[A, O any](fn func(a A) O) any
- func WrapToProc1_2[A, O, O2 any](fn func(A) (O, O2)) any
- func WrapToProc2_0[E, A any](fn func(e E, a A)) any
- func WrapToProc2_1[E, A, O any](fn func(e E, a A) O) any
- func WrapToProc2_2[E, A, O, O2 any](fn func(e E, a A) (O, O2)) any
- func WrapToProc3_0[E, A, B any](fn func(e E, a A, b B)) any
- func WrapToProc3_1[E, A, B, O any](fn func(e E, a A, b B) O) any
- func WrapToProc3_2[E, A, B, O, O2 any](fn func(e E, a A, b B) (O, O2)) any
- type ArityFn
- type ArrayMap
- func (m *ArrayMap) Add(env *Env, key any, value any) bool
- func (m *ArrayMap) AddEqu(key Equ, value any) bool
- func (m *ArrayMap) Assoc(env *Env, key any, value any) (Associative, error)
- func (m *ArrayMap) Call(env *Env, args []any) (any, error)
- func (m *ArrayMap) Clone() *ArrayMap
- func (m *ArrayMap) Conj(env *Env, obj any) (Conjable, error)
- func (m *ArrayMap) Count() int
- func (m *ArrayMap) Empty() Collection
- func (m *ArrayMap) EntryAt(env *Env, key any) (*Vector, error)
- func (m *ArrayMap) Equals(env *Env, other interface{}) bool
- func (m *ArrayMap) Get(env *Env, key any) (bool, any, error)
- func (m *ArrayMap) GetEqu(key Equ) (bool, any)
- func (m *ArrayMap) Hash(env *Env) (uint32, error)
- func (m *ArrayMap) Iter() MapIterator
- func (m *ArrayMap) Keys() Seq
- func (m *ArrayMap) Merge(env *Env, other Map) (Map, error)
- func (m *ArrayMap) Plus(env *Env, key any, value any) *ArrayMap
- func (m *ArrayMap) Pprint(env *Env, w io.Writer, indent int) (int, error)
- func (m *ArrayMap) Seq() Seq
- func (m *ArrayMap) Set(env *Env, key any, value any)
- func (m *ArrayMap) ToString(env *Env, escape bool) (string, error)
- func (m *ArrayMap) Vals() Seq
- func (x *ArrayMap) WithInfo(info *ObjectInfo) any
- func (v *ArrayMap) WithMeta(env *Env, meta Map) (any, error)
- func (m *ArrayMap) Without(env *Env, key any) (Map, error)
- type ArrayMapIterator
- type ArrayMapSeq
- func (seq *ArrayMapSeq) Cons(obj any) Seq
- func (seq *ArrayMapSeq) Equals(env *Env, other interface{}) bool
- func (seq *ArrayMapSeq) First(env *Env) (any, error)
- func (seq *ArrayMapSeq) Hash(env *Env) (uint32, error)
- func (seq *ArrayMapSeq) IsEmpty(env *Env) (bool, error)
- func (seq *ArrayMapSeq) Pprint(env *Env, w io.Writer, indent int) (int, error)
- func (seq *ArrayMapSeq) Rest(env *Env) (Seq, error)
- func (seq *ArrayMapSeq) Seq() Seq
- func (seq *ArrayMapSeq) ToString(env *Env, escape bool) (string, error)
- func (x *ArrayMapSeq) WithInfo(info *ObjectInfo) any
- func (seq *ArrayMapSeq) WithMeta(env *Env, meta Map) (any, error)
- type ArrayNode
- type ArrayNodeIterator
- type ArrayNodeSeq
- func (s *ArrayNodeSeq) Cons(obj any) Seq
- func (s *ArrayNodeSeq) Equals(env *Env, other interface{}) bool
- func (s *ArrayNodeSeq) First(env *Env) (any, error)
- func (s *ArrayNodeSeq) Hash(env *Env) (uint32, error)
- func (s *ArrayNodeSeq) IsEmpty(env *Env) (bool, error)
- func (seq *ArrayNodeSeq) Pprint(env *Env, w io.Writer, indent int) (int, error)
- func (s *ArrayNodeSeq) Rest(env *Env) (Seq, error)
- func (s *ArrayNodeSeq) Seq() Seq
- func (s *ArrayNodeSeq) ToString(env *Env, escape bool) (string, error)
- func (x *ArrayNodeSeq) WithInfo(info *ObjectInfo) any
- func (s *ArrayNodeSeq) WithMeta(env *Env, meta Map) (any, error)
- type ArraySeq
- func (seq *ArraySeq) Cons(obj any) Seq
- func (seq *ArraySeq) Equals(env *Env, other interface{}) bool
- func (seq *ArraySeq) First(env *Env) (any, error)
- func (seq *ArraySeq) Hash(env *Env) (uint32, error)
- func (seq *ArraySeq) IsEmpty(env *Env) (bool, error)
- func (seq *ArraySeq) Pprint(env *Env, w io.Writer, indent int) (int, error)
- func (seq *ArraySeq) Rest(env *Env) (Seq, error)
- func (seq *ArraySeq) Seq() Seq
- func (seq *ArraySeq) ToString(env *Env, escape bool) (string, error)
- func (x *ArraySeq) WithInfo(info *ObjectInfo) any
- func (seq *ArraySeq) WithMeta(env *Env, meta Map) (any, error)
- type Associative
- type AssociativeImpl
- type Atom
- func (a *Atom) AlterMeta(env *Env, fn *Fn, args []any) (Map, error)
- func (a *Atom) Deref(env *Env) (any, error)
- func (a *Atom) Equals(env *Env, other interface{}) bool
- func (a *Atom) GetInfo() *ObjectInfo
- func (a *Atom) Hash(env *Env) (uint32, error)
- func (a *Atom) ResetMeta(newMeta Map) Map
- func (a *Atom) ToString(env *Env, escape bool) (string, error)
- func (a *Atom) WithInfo(info *ObjectInfo) any
- func (a *Atom) WithMeta(env *Env, meta Map) (any, error)
- type BigFloat
- func (b *BigFloat) BigFloat() *big.Float
- func (b *BigFloat) BigInt() *big.Int
- func (bf *BigFloat) Compare(env *Env, other any) (int, error)
- func (b *BigFloat) Double() Double
- func (bf *BigFloat) Equals(env *Env, other interface{}) bool
- func (bf *BigFloat) Hash(env *Env) (uint32, error)
- func (b *BigFloat) Int() Int
- func (b *BigFloat) NativeNumber() any
- func (b *BigFloat) Ratio() *big.Rat
- func (bf *BigFloat) ToString(env *Env, escape bool) (string, error)
- func (x *BigFloat) WithInfo(info *ObjectInfo) any
- type BigFloatOps
- func (ops BigFloatOps) Add(x, y Number) (Number, error)
- func (ops BigFloatOps) Combine(other Ops) Ops
- func (ops BigFloatOps) Divide(x, y Number) (Number, error)
- func (ops BigFloatOps) Eq(x Number, y Number) bool
- func (ops BigFloatOps) Gt(x Number, y Number) bool
- func (ops BigFloatOps) Gte(x Number, y Number) bool
- func (ops BigFloatOps) IsZero(x Number) bool
- func (ops BigFloatOps) Lt(x Number, y Number) bool
- func (ops BigFloatOps) Lte(x Number, y Number) bool
- func (ops BigFloatOps) Multiply(x, y Number) (Number, error)
- func (ops BigFloatOps) Quotient(x, y Number) (Number, error)
- func (ops BigFloatOps) Rem(x, y Number) (Number, error)
- func (ops BigFloatOps) Subtract(x, y Number) (Number, error)
- type BigInt
- func (b *BigInt) BigFloat() *big.Float
- func (b *BigInt) BigInt() *big.Int
- func (bi *BigInt) Compare(env *Env, other any) (int, error)
- func (b *BigInt) Double() Double
- func (bi *BigInt) Equals(env *Env, other interface{}) bool
- func (bi *BigInt) Hash(env *Env) (uint32, error)
- func (bi *BigInt) I64() int64
- func (b *BigInt) Int() Int
- func (b *BigInt) NativeNumber() any
- func (b *BigInt) Ratio() *big.Rat
- func (bi *BigInt) ToString(env *Env, escape bool) (string, error)
- func (x *BigInt) WithInfo(info *ObjectInfo) any
- type BigIntOps
- func (ops BigIntOps) Add(x, y Number) (Number, error)
- func (ops BigIntOps) Combine(other Ops) Ops
- func (ops BigIntOps) Divide(x, y Number) (Number, error)
- func (ops BigIntOps) Eq(x Number, y Number) bool
- func (ops BigIntOps) Gt(x Number, y Number) bool
- func (ops BigIntOps) Gte(x Number, y Number) bool
- func (ops BigIntOps) IsZero(x Number) bool
- func (ops BigIntOps) Lt(x Number, y Number) bool
- func (ops BigIntOps) Lte(x Number, y Number) bool
- func (ops BigIntOps) Multiply(x, y Number) (Number, error)
- func (ops BigIntOps) Quotient(x, y Number) (Number, error)
- func (ops BigIntOps) Rem(x, y Number) (Number, error)
- func (ops BigIntOps) Subtract(x, y Number) (Number, error)
- type Binding
- type BindingData
- type BindingExpr
- type Bindings
- type BitmapIndexedNode
- type Boolean
- func (b Boolean) Compare(env *Env, other any) (int, error)
- func (b Boolean) Equals(env *Env, other interface{}) bool
- func (b Boolean) GetInfo() *ObjectInfo
- func (b Boolean) Hash(env *Env) (uint32, error)
- func (b Boolean) Native() interface{}
- func (b Boolean) ToString(env *Env, escape bool) (string, error)
- func (x Boolean) WithInfo(info *ObjectInfo) any
- type Box
- type Buffer
- type BufferedReader
- type BySymbolName
- type BytecodeEncoder
- type CallExpr
- type Callable
- type CallableImpl
- type CatchExpr
- type Channel
- type Char
- type CharImpl
- type CheckTypeData
- type Code
- type CodeAsData
- type CodeBoolean
- type CodeChar
- type CodeData
- type CodeDouble
- type CodeEncoded
- type CodeInt
- type CodeKeyword
- type CodeLiteral
- type CodeMap
- type CodeMapPair
- type CodeMethod
- type CodeNamespace
- type CodePosition
- type CodeRegex
- type CodeSeq
- type CodeString
- type CodeSymbol
- type CodeType
- type CodeVar
- type CodeVector
- type Collection
- type CollectionImpl
- type Comparable
- type ComparableImpl
- type Comparator
- type ComparatorImpl
- type Compiler
- type Conjable
- type ConsSeq
- func (seq *ConsSeq) Cons(obj any) Seq
- func (seq *ConsSeq) Equals(env *Env, other interface{}) bool
- func (seq *ConsSeq) First(env *Env) (any, error)
- func (seq *ConsSeq) Hash(env *Env) (uint32, error)
- func (seq *ConsSeq) IsEmpty(env *Env) (bool, error)
- func (seq *ConsSeq) Pprint(env *Env, w io.Writer, indent int) (int, error)
- func (seq *ConsSeq) Rest(env *Env) (Seq, error)
- func (seq *ConsSeq) Seq() Seq
- func (seq *ConsSeq) ToString(env *Env, escape bool) (string, error)
- func (x *ConsSeq) WithInfo(info *ObjectInfo) any
- func (seq *ConsSeq) WithMeta(env *Env, meta Map) (any, error)
- type ConvRegistry
- type Counted
- type CountedImpl
- type DefData
- type DefExpr
- type DefTypeInfo
- type DefVarInfo
- type DefnInfo
- type DefnTag
- type Delay
- func (d *Delay) Deref(env *Env) (any, error)
- func (d *Delay) Equals(env *Env, other interface{}) bool
- func (d *Delay) Force(env *Env) (any, error)
- func (d *Delay) GetInfo() *ObjectInfo
- func (d *Delay) Hash(env *Env) (uint32, error)
- func (d *Delay) IsRealized() bool
- func (d *Delay) ToString(env *Env, escape bool) (string, error)
- func (d *Delay) WithInfo(info *ObjectInfo) any
- type Deref
- type DerefImpl
- type Dialect
- type DoExpr
- type Double
- func (d Double) BigFloat() *big.Float
- func (d Double) BigInt() *big.Int
- func (d Double) Compare(env *Env, other any) (int, error)
- func (d Double) Double() Double
- func (d Double) Equals(env *Env, other interface{}) bool
- func (d Double) Hash(env *Env) (uint32, error)
- func (d Double) Int() Int
- func (d Double) Native() interface{}
- func (d Double) NativeNumber() any
- func (d Double) Ratio() *big.Rat
- func (d Double) ToString(env *Env, escape bool) (string, error)
- func (x Double) WithInfo(info *ObjectInfo) any
- type DoubleOps
- func (ops DoubleOps) Add(x, y Number) (Number, error)
- func (ops DoubleOps) Combine(other Ops) Ops
- func (ops DoubleOps) Divide(x, y Number) (Number, error)
- func (ops DoubleOps) Eq(x Number, y Number) bool
- func (ops DoubleOps) Gt(x Number, y Number) bool
- func (ops DoubleOps) Gte(x Number, y Number) bool
- func (ops DoubleOps) IsZero(x Number) bool
- func (ops DoubleOps) Lt(x Number, y Number) bool
- func (ops DoubleOps) Lte(x Number, y Number) bool
- func (ops DoubleOps) Multiply(x, y Number) (Number, error)
- func (ops DoubleOps) Quotient(x, y Number) (Number, error)
- func (ops DoubleOps) Rem(x, y Number) (Number, error)
- func (ops DoubleOps) Subtract(x, y Number) (Number, error)
- type EmptyMapIterator
- type EmptySetIterator
- type Engine
- type EngineFrame
- type Env
- func (env *Env) AllNamespaceValues() []any
- func (env *Env) AllNamespaces() []string
- func (env *Env) Child() *Env
- func (env *Env) CurrentNamespace() *Namespace
- func (env *Env) EnsureNamespace(sym Symbol) *Namespace
- func (env *Env) Eval(str string) (any, error)
- func (env *Env) FindInCurrentVars(vr *Var) (any, bool, error)
- func (env *Env) FindNamespace(s Symbol) *Namespace
- func (env *Env) InitEnv(stdin io.Reader, stdout, stderr io.Writer, args []string)
- func (env *Env) InitNamespace(sym Symbol) (*Namespace, error)
- func (env *Env) IsStdIn(obj any) bool
- func (env *Env) LookupNamespace(s Symbol) (*Namespace, bool)
- func (env *Env) MakeVar(s Symbol) (*Var, error)
- func (env *Env) NamespaceFor(ns *Namespace, s Symbol) *Namespace
- func (e *Env) NewArgTypeError(index int, obj any, expectedType string) *EvalError
- func (e *Env) NewError(msg string, args ...any) *EvalError
- func (env *Env) ProtoNamespace(sym Symbol) (*Namespace, error)
- func (env *Env) REPL(in io.Reader, out io.Writer) error
- func (env *Env) RemoveNamespace(s Symbol) *Namespace
- func (env *Env) Resolve(s Symbol) (*Var, bool)
- func (env *Env) ResolveIn(n *Namespace, s Symbol) (*Var, bool)
- func (env *Env) ResolveSymbol(s Symbol) (Symbol, error)
- func (env *Env) ResolveType(sym Symbol) any
- func (env *Env) ResolveTypeFroMeta(obj any) any
- func (env *Env) SetClassPath(cp string)
- func (e *Env) SetContext(ctx context.Context) error
- func (env *Env) SetCurrentNamespace(ns *Namespace)
- func (env *Env) SetEnvArgs(newArgs []string)
- func (env *Env) SetFilename(obj any)
- func (env *Env) SetMainFilename(filename string)
- func (env *Env) SetStdIO(stdin, stdout, stderr any)
- func (env *Env) SetupNamespace(ns *Namespace) error
- func (env *Env) StdIO() (stdin, stdout, stderr any)
- func (e *Env) TypeError(ctx TCContext, obj any, expectedType string) *EvalError
- type Equ
- type Equality
- type Error
- type ErrorData
- type ErrorImpl
- type EvalError
- func (e *EvalError) AddData(env *Env, obj any)
- func (e *EvalError) Category() string
- func (err *EvalError) Error() string
- func (err *EvalError) ErrorData() Map
- func (err *EvalError) Hash(env *Env) (uint32, error)
- func (err *EvalError) Is(target error) bool
- func (err *EvalError) Message() any
- func (err *EvalError) ToString(env *Env, escape bool) (string, error)
- func (err *EvalError) Unwrap() error
- func (err *EvalError) WithInfo(info *ObjectInfo) any
- type ExInfo
- func (exInfo *ExInfo) Equals(env *Env, other interface{}) bool
- func (exInfo *ExInfo) Error() string
- func (exInfo *ExInfo) Hash(env *Env) (uint32, error)
- func (exInfo *ExInfo) Message() any
- func (exInfo *ExInfo) ToString(env *Env, escape bool) (string, error)
- func (e *ExInfo) Unwrap() error
- func (x *ExInfo) WithInfo(info *ObjectInfo) any
- type ExitError
- type Expr
- type File
- type Fn
- func (fn *Fn) Call(env *Env, args []any) (any, error)
- func (fn *Fn) Compare(env *Env, a, b any) (int, error)
- func (fn *Fn) Equals(env *Env, other interface{}) bool
- func (fn *Fn) Hash(env *Env) (uint32, error)
- func (fn *Fn) String() string
- func (fn *Fn) ToString(env *Env, escape bool) (string, error)
- func (x *Fn) WithInfo(info *ObjectInfo) any
- func (fn *Fn) WithMeta(env *Env, meta Map) (any, error)
- type FnArityExpr
- type FnData
- type FnExpr
- type FrameRope
- type Future
- type FutureResult
- type Gettable
- type GettableImpl
- type GoString
- func (s GoString) AppendTo(str String) String
- func (s GoString) Compare(env *Env, other any) (int, error)
- func (s GoString) Count() int
- func (s GoString) Equals(env *Env, other interface{}) bool
- func (s GoString) GetInfo() *ObjectInfo
- func (s GoString) Hash(env *Env) (uint32, error)
- func (s GoString) Native() interface{}
- func (s GoString) Nth(env *Env, i int) (any, error)
- func (s GoString) S() string
- func (s GoString) Seq() Seq
- func (s GoString) ToString(env *Env, escape bool) (string, error)
- func (s GoString) TryNth(env *Env, i int, d any) (any, error)
- func (s GoString) WithInfo(info *ObjectInfo) any
- type HasCategory
- type HasEquals
- type HasGetType
- type HasHash
- type HasInfo
- type HasReflectType
- type HasToString
- type HashCollisionNode
- type HashMap
- func (m *HashMap) Assoc(env *Env, key, val any) (Associative, error)
- func (m *HashMap) Call(env *Env, args []any) (any, error)
- func (m *HashMap) Conj(env *Env, obj any) (Conjable, error)
- func (m *HashMap) Count() int
- func (m *HashMap) Empty() Collection
- func (m *HashMap) EntryAt(env *Env, key any) (*Vector, error)
- func (m *HashMap) Equals(env *Env, other interface{}) bool
- func (m *HashMap) Get(env *Env, key any) (bool, any, error)
- func (m *HashMap) GetEqu(key Equ) (bool, any)
- func (m *HashMap) Hash(env *Env) (uint32, error)
- func (m *HashMap) Iter() MapIterator
- func (m *HashMap) Keys() Seq
- func (m *HashMap) Merge(env *Env, other Map) (Map, error)
- func (m *HashMap) Pprint(env *Env, w io.Writer, indent int) (int, error)
- func (m *HashMap) Seq() Seq
- func (m *HashMap) ToString(env *Env, escape bool) (string, error)
- func (m *HashMap) Vals() Seq
- func (x *HashMap) WithInfo(info *ObjectInfo) any
- func (m *HashMap) WithMeta(env *Env, meta Map) (any, error)
- func (m *HashMap) Without(env *Env, key any) (Map, error)
- type HeavyChar
- func (x *HeavyChar) Ch() rune
- func (c *HeavyChar) Compare(env *Env, other any) (int, error)
- func (c *HeavyChar) Equals(env *Env, other interface{}) bool
- func (c *HeavyChar) Hash(env *Env) (uint32, error)
- func (c *HeavyChar) Native() interface{}
- func (c *HeavyChar) ToString(env *Env, escape bool) (string, error)
- func (x *HeavyChar) WithInfo(info *ObjectInfo) any
- type HeavyKeyword
- func (k *HeavyKeyword) Call(env *Env, args []any) (any, error)
- func (k *HeavyKeyword) Compare(env *Env, other any) (int, error)
- func (k *HeavyKeyword) Equals(env *Env, other interface{}) bool
- func (k *HeavyKeyword) Hash(env *Env) (uint32, error)
- func (k *HeavyKeyword) Is(other any) bool
- func (k *HeavyKeyword) IsHash() uint32
- func (k *HeavyKeyword) Name() string
- func (k *HeavyKeyword) Namespace() string
- func (k *HeavyKeyword) RawString() string
- func (k *HeavyKeyword) String() string
- func (k *HeavyKeyword) ToString(env *Env, escape bool) (string, error)
- func (k *HeavyKeyword) WithInfo(info *ObjectInfo) any
- type HeavyNil
- func (n HeavyNil) Assoc(env *Env, key, value any) (Associative, error)
- func (n HeavyNil) Conj(env *Env, obj any) (Conjable, error)
- func (n HeavyNil) Cons(obj any) Seq
- func (n HeavyNil) Count() int
- func (n HeavyNil) Disjoin(env *Env, key any) (Set, error)
- func (n HeavyNil) EntryAt(env *Env, key any) (*Vector, error)
- func (n HeavyNil) Equals(env *Env, other interface{}) bool
- func (n HeavyNil) First(env *Env) (any, error)
- func (n HeavyNil) Get(env *Env, key any) (bool, any, error)
- func (n HeavyNil) GetEqu(key Equ) (bool, any)
- func (x HeavyNil) GetInfo() *ObjectInfo
- func (n HeavyNil) Has(key Equ) bool
- func (n HeavyNil) Hash(env *Env) (uint32, error)
- func (n HeavyNil) IsEmpty(env *Env) (bool, error)
- func (n HeavyNil) Iter() MapIterator
- func (n HeavyNil) Keys() Seq
- func (n HeavyNil) Merge(env *Env, other Map) (Map, error)
- func (n HeavyNil) Rest(env *Env) (Seq, error)
- func (n HeavyNil) Seq() Seq
- func (n HeavyNil) SetIter() SetIter
- func (x HeavyNil) String() string
- func (n HeavyNil) ToString(env *Env, escape bool) (string, error)
- func (n HeavyNil) Vals() Seq
- func (x HeavyNil) WithInfo(info *ObjectInfo) any
- func (n HeavyNil) Without(env *Env, key any) (Map, error)
- type HeavySymbol
- func (s *HeavySymbol) Call(env *Env, args []any) (any, error)
- func (s *HeavySymbol) Compare(env *Env, other any) (int, error)
- func (s *HeavySymbol) Equals(env *Env, other interface{}) bool
- func (s *HeavySymbol) Hash(env *Env) (uint32, error)
- func (s *HeavySymbol) Is(other any) bool
- func (s *HeavySymbol) IsHash() uint32
- func (s *HeavySymbol) Name() string
- func (s *HeavySymbol) Namespace() string
- func (s *HeavySymbol) String() string
- func (s *HeavySymbol) ToString(env *Env, escape bool) (string, error)
- func (x *HeavySymbol) WithInfo(info *ObjectInfo) any
- func (sym *HeavySymbol) WithMeta(env *Env, meta Map) (any, error)
- type IOReader
- type IOWriter
- type IPending
- type IfExpr
- type IndexCounted
- type Indexed
- type IndexedImpl
- type InfoHolder
- type Instruction
- type InstructionData
- type Int
- func (i Int) BigFloat() *big.Float
- func (i Int) BigInt() *big.Int
- func (i Int) Compare(env *Env, other any) (int, error)
- func (i Int) Double() Double
- func (i Int) Equals(env *Env, other interface{}) bool
- func (i Int) GetInfo() *ObjectInfo
- func (i Int) Hash(env *Env) (uint32, error)
- func (i Int) I() int
- func (i Int) I64() int64
- func (i Int) Int() Int
- func (i Int) Native() interface{}
- func (i Int) NativeNumber() any
- func (i Int) Ratio() *big.Rat
- func (i Int) ToString(env *Env, escape bool) (string, error)
- func (i Int) WithInfo(info *ObjectInfo) any
- type IntOps
- func (ops IntOps) Add(x, y Number) (Number, error)
- func (ops IntOps) Combine(other Ops) Ops
- func (ops IntOps) Divide(x, y Number) (Number, error)
- func (ops IntOps) Eq(x Number, y Number) bool
- func (ops IntOps) Gt(x Number, y Number) bool
- func (ops IntOps) Gte(x Number, y Number) bool
- func (ops IntOps) IsZero(x Number) bool
- func (ops IntOps) Lt(x Number, y Number) bool
- func (ops IntOps) Lte(x Number, y Number) bool
- func (ops IntOps) Multiply(x, y Number) (Number, error)
- func (ops IntOps) Quotient(x, y Number) (Number, error)
- func (ops IntOps) Rem(x, y Number) (Number, error)
- func (ops IntOps) Subtract(x, y Number) (Number, error)
- type Integer
- type IntegerImpl
- type KVReduce
- type KVReduceImpl
- type Keyword
- type KeywordImpl
- func (s *KeywordImpl) Call(a0 *Env, a1 []any) (any, error)
- func (s *KeywordImpl) Compare(a0 *Env, a1 any) (int, error)
- func (s *KeywordImpl) GetInfo() *ObjectInfo
- func (s *KeywordImpl) Is(a0 any) bool
- func (s *KeywordImpl) IsHash() uint32
- func (s *KeywordImpl) Name() string
- func (s *KeywordImpl) Namespace() string
- func (s *KeywordImpl) RawString() string
- func (s *KeywordImpl) String() string
- func (s *KeywordImpl) WithInfo(a0 *ObjectInfo) any
- type Keywords
- type LazySeq
- func (seq *LazySeq) Cons(obj any) Seq
- func (seq *LazySeq) Equals(env *Env, other interface{}) bool
- func (seq *LazySeq) First(env *Env) (any, error)
- func (seq *LazySeq) Hash(env *Env) (uint32, error)
- func (seq *LazySeq) IsEmpty(env *Env) (bool, error)
- func (seq *LazySeq) IsRealized() bool
- func (seq *LazySeq) Pprint(env *Env, w io.Writer, indent int) (int, error)
- func (seq *LazySeq) Rest(env *Env) (Seq, error)
- func (seq *LazySeq) Seq() Seq
- func (seq *LazySeq) ToString(env *Env, escape bool) (string, error)
- func (x *LazySeq) WithInfo(info *ObjectInfo) any
- func (seq *LazySeq) WithMeta(env *Env, meta Map) (any, error)
- type LetExpr
- type LightSymbol
- func (s *LightSymbol) Call(env *Env, args []any) (any, error)
- func (s *LightSymbol) Compare(env *Env, other any) (int, error)
- func (s *LightSymbol) Equals(env *Env, other interface{}) bool
- func (sym *LightSymbol) GetInfo() *ObjectInfo
- func (sym *LightSymbol) GetMeta() Map
- func (s *LightSymbol) Hash(env *Env) (uint32, error)
- func (s *LightSymbol) Is(other any) bool
- func (s *LightSymbol) IsHash() uint32
- func (s *LightSymbol) Name() string
- func (s *LightSymbol) Namespace() string
- func (s *LightSymbol) String() string
- func (s *LightSymbol) ToString(env *Env, escape bool) (string, error)
- func (sym *LightSymbol) WithInfo(info *ObjectInfo) any
- func (sym *LightSymbol) WithMeta(env *Env, meta Map) (any, error)
- type LineRuneReader
- type List
- func (list *List) Conj(env *Env, obj any) (Conjable, error)
- func (list *List) Cons(obj any) Seq
- func (list *List) Count() int
- func (list *List) Empty() Collection
- func (list *List) Equals(env *Env, other interface{}) bool
- func (list *List) First(env *Env) (any, error)
- func (list *List) Forth() any
- func (list *List) Hash(env *Env) (uint32, error)
- func (list *List) IsEmpty(env *Env) (bool, error)
- func (list *List) Peek(env *Env) (any, error)
- func (list *List) Pop(env *Env) (Stack, error)
- func (seq *List) Pprint(env *Env, w io.Writer, indent int) (int, error)
- func (list *List) Rest(env *Env) (Seq, error)
- func (list *List) Second() any
- func (list *List) Seq() Seq
- func (list *List) Third() any
- func (list *List) ToString(env *Env, escape bool) (string, error)
- func (x *List) WithInfo(info *ObjectInfo) any
- func (list *List) WithMeta(env *Env, meta Map) (any, error)
- type LiteralData
- type LiteralExpr
- type LocalEnv
- type LoopExpr
- type MacroCallExpr
- type Map
- func AlterMeta(env *Env, m *MetaHolder, fn *Fn, args []any) (Map, error)
- func AssertMap(env *Env, obj any, msg string) (Map, error)
- func EnsureMap(env *Env, args []any, index int) (Map, error)
- func ExtractMap(env *Env, args []any, index int) (Map, error)
- func FileInfoMap(env *Env, name string, info os.FileInfo) Map
- func GetMeta(obj any) Map
- func SafeMerge(env *Env, m1, m2 Map) (Map, error)
- type MapExpr
- type MapImpl
- func (s *MapImpl) Assoc(a0 *Env, a1 any, a2 any) (Associative, error)
- func (s *MapImpl) Conj(a0 *Env, a1 any) (Conjable, error)
- func (s *MapImpl) Count() int
- func (s *MapImpl) EntryAt(a0 *Env, a1 any) (*Vector, error)
- func (s *MapImpl) Get(a0 *Env, a1 any) (bool, any, error)
- func (s *MapImpl) GetEqu(a0 Equ) (bool, any)
- func (s *MapImpl) Iter() MapIterator
- func (s *MapImpl) Keys() Seq
- func (s *MapImpl) Merge(a0 *Env, a1 Map) (Map, error)
- func (s *MapImpl) Seq() Seq
- func (s *MapImpl) Vals() Seq
- func (s *MapImpl) Without(a0 *Env, a1 any) (Map, error)
- type MapIterator
- type MapSet
- func (set *MapSet) Add(env *Env, obj any) (bool, error)
- func (set *MapSet) Call(env *Env, args []any) (any, error)
- func (set *MapSet) Conj(env *Env, obj any) (Conjable, error)
- func (set *MapSet) Count() int
- func (set *MapSet) Disjoin(env *Env, key any) (Set, error)
- func (set *MapSet) Empty() Collection
- func (set *MapSet) Equals(env *Env, other interface{}) bool
- func (set *MapSet) Get(env *Env, key any) (bool, any, error)
- func (set *MapSet) Has(key Equ) bool
- func (set *MapSet) Hash(env *Env) (uint32, error)
- func (set *MapSet) Pprint(env *Env, w io.Writer, indent int) (int, error)
- func (set *MapSet) Seq() Seq
- func (set *MapSet) SetIter() SetIter
- func (set *MapSet) ToString(env *Env, escape bool) (string, error)
- func (x *MapSet) WithInfo(info *ObjectInfo) any
- func (v *MapSet) WithMeta(env *Env, meta Map) (any, error)
- type MapSetIter
- type MappingSeq
- func (seq *MappingSeq) Cons(obj any) Seq
- func (seq *MappingSeq) Equals(env *Env, other interface{}) bool
- func (seq *MappingSeq) First(env *Env) (any, error)
- func (seq *MappingSeq) Hash(env *Env) (uint32, error)
- func (seq *MappingSeq) IsEmpty(env *Env) (bool, error)
- func (seq *MappingSeq) Pprint(env *Env, w io.Writer, indent int) (int, error)
- func (seq *MappingSeq) Rest(env *Env) (Seq, error)
- func (seq *MappingSeq) Seq() Seq
- func (seq *MappingSeq) ToString(env *Env, escape bool) (string, error)
- func (x *MappingSeq) WithInfo(info *ObjectInfo) any
- func (seq *MappingSeq) WithMeta(env *Env, meta Map) (any, error)
- type Meta
- type MetaExpr
- type MetaHolder
- type MetaImpl
- type MethodCallData
- type MethodExpr
- type MethodSite
- type NSBuilder
- func (b *NSBuilder) Def(name string, obj any)
- func (b *NSBuilder) DefType(i *DefTypeInfo) *NSBuilder
- func (b *NSBuilder) DefVar(i *DefVarInfo) *NSBuilder
- func (n *NSBuilder) Defn(b *DefnInfo) *NSBuilder
- func (b *NSBuilder) NSMeta(doc, added string)
- func (b *NSBuilder) Namespace() *Namespace
- func (b *NSBuilder) ReferCore()
- func (b *NSBuilder) Run(code []byte) error
- type Named
- type NamedImpl
- type NamedPair
- type Namespace
- func (ns *Namespace) AddAlias(env *Env, alias Symbol, namespace *Namespace) error
- func (ns *Namespace) AliasNames() []string
- func (ns *Namespace) AlterMeta(env *Env, fn *Fn, args []any) (Map, error)
- func (ns *Namespace) CoreP() bool
- func (ns *Namespace) DeleteVar(name string)
- func (ns *Namespace) Equals(env *Env, other interface{}) bool
- func (ns *Namespace) GetInfo() *ObjectInfo
- func (ns *Namespace) Hash(env *Env) (uint32, error)
- func (ns *Namespace) Intern(env *Env, sym Symbol) (*Var, error)
- func (ns *Namespace) InternVar(env *Env, name string, val any, meta *ArrayMap) (*Var, error)
- func (ns *Namespace) LookupVar(name string) (*Var, bool)
- func (ns *Namespace) Mappings() map[string]*Var
- func (ns *Namespace) MappingsAsMap(env *Env) Map
- func (ns *Namespace) MaybeLazy(env *Env, doc string)
- func (ns *Namespace) Print(w io.Writer, printReadably bool)
- func (ns *Namespace) Qual() string
- func (ns *Namespace) Refer(env *Env, sym Symbol, vr *Var) (*Var, error)
- func (ns *Namespace) ReferAll(other *Namespace, safe bool)
- func (ns *Namespace) ResetMeta(newMeta Map) Map
- func (ns *Namespace) Resolve(name string) *Var
- func (ns *Namespace) ToString(env *Env, escape bool) (string, error)
- func (ns *Namespace) VarNames() []string
- func (ns *Namespace) WithInfo(info *ObjectInfo) any
- func (ns *Namespace) WithMeta(env *Env, meta Map) (any, error)
- type Native
- type NativeSetup
- type Nil
- type NilImpl
- func (s *NilImpl) Assoc(a0 *Env, a1 any, a2 any) (Associative, error)
- func (s *NilImpl) Conj(a0 *Env, a1 any) (Conjable, error)
- func (s *NilImpl) Cons(a0 any) Seq
- func (s *NilImpl) Count() int
- func (s *NilImpl) EntryAt(a0 *Env, a1 any) (*Vector, error)
- func (s *NilImpl) First(a0 *Env) (any, error)
- func (s *NilImpl) Get(a0 *Env, a1 any) (bool, any, error)
- func (s *NilImpl) GetEqu(a0 Equ) (bool, any)
- func (s *NilImpl) GetInfo() *ObjectInfo
- func (s *NilImpl) IsEmpty(a0 *Env) (bool, error)
- func (s *NilImpl) Iter() MapIterator
- func (s *NilImpl) Keys() Seq
- func (s *NilImpl) Merge(a0 *Env, a1 Map) (Map, error)
- func (s *NilImpl) Rest(a0 *Env) (Seq, error)
- func (s *NilImpl) Seq() Seq
- func (s *NilImpl) Vals() Seq
- func (s *NilImpl) WithInfo(a0 *ObjectInfo) any
- func (s *NilImpl) Without(a0 *Env, a1 any) (Map, error)
- type Node
- type NodeIterator
- type NodeSeq
- func (s *NodeSeq) Cons(obj any) Seq
- func (s *NodeSeq) Equals(env *Env, other interface{}) bool
- func (s *NodeSeq) First(env *Env) (any, error)
- func (s *NodeSeq) Hash(env *Env) (uint32, error)
- func (s *NodeSeq) IsEmpty(env *Env) (bool, error)
- func (seq *NodeSeq) Pprint(env *Env, w io.Writer, indent int) (int, error)
- func (s *NodeSeq) Rest(env *Env) (Seq, error)
- func (s *NodeSeq) Seq() Seq
- func (s *NodeSeq) ToString(env *Env, escape bool) (string, error)
- func (x *NodeSeq) WithInfo(info *ObjectInfo) any
- func (s *NodeSeq) WithMeta(env *Env, meta Map) (any, error)
- type Number
- type NumberImpl
- type ObjectInfo
- type OpCode
- type Opaque
- type Ops
- type OutConvError
- type Pair
- type ParseContext
- func (ctx *ParseContext) GetLocalBinding(sym Symbol) *Binding
- func (ctx *ParseContext) GetLoopBindings() []Symbol
- func (ctx *ParseContext) PopLocalFrame()
- func (ctx *ParseContext) PopLoopBindings()
- func (ctx *ParseContext) PushEmptyLocalFrame()
- func (ctx *ParseContext) PushLocalFrame(names []Symbol)
- func (ctx *ParseContext) PushLoopBindings(bindings []Symbol)
- type ParseError
- func (err *ParseError) Equals(env *Env, other interface{}) bool
- func (err ParseError) Error() string
- func (err *ParseError) GetInfo() *ObjectInfo
- func (err *ParseError) Hash(env *Env) (uint32, error)
- func (err *ParseError) Message() any
- func (err *ParseError) ToString(env *Env, escape bool) (string, error)
- func (err *ParseError) WithInfo(info *ObjectInfo) any
- type Pending
- type PendingImpl
- type Phase
- type Position
- type Pprinter
- type Printer
- type Proc
- func (p Proc) Call(env *Env, args []any) (any, error)
- func (p Proc) Compare(env *Env, a, b any) (int, error)
- func (p Proc) Equals(env *Env, other interface{}) bool
- func (p Proc) GetInfo() *ObjectInfo
- func (p Proc) Hash(env *Env) (uint32, error)
- func (p Proc) ToString(env *Env, escape bool) (string, error)
- func (p Proc) WithInfo(*ObjectInfo) any
- type ProcFn
- type Ratio
- func (r *Ratio) BigFloat() *big.Float
- func (r *Ratio) BigInt() *big.Int
- func (rat *Ratio) Compare(env *Env, other any) (int, error)
- func (r *Ratio) Double() Double
- func (rat *Ratio) Equals(env *Env, other interface{}) bool
- func (rat *Ratio) Hash(env *Env) (uint32, error)
- func (r *Ratio) Int() Int
- func (r *Ratio) NativeNumber() any
- func (r *Ratio) Ratio() *big.Rat
- func (rat *Ratio) ToString(env *Env, escape bool) (string, error)
- func (x *Ratio) WithInfo(info *ObjectInfo) any
- type RatioOps
- func (ops RatioOps) Add(x, y Number) (Number, error)
- func (ops RatioOps) Combine(other Ops) Ops
- func (ops RatioOps) Divide(x, y Number) (Number, error)
- func (ops RatioOps) Eq(x Number, y Number) bool
- func (ops RatioOps) Gt(x Number, y Number) bool
- func (ops RatioOps) Gte(x Number, y Number) bool
- func (ops RatioOps) IsZero(x Number) bool
- func (ops RatioOps) Lt(x Number, y Number) bool
- func (ops RatioOps) Lte(x Number, y Number) bool
- func (ops RatioOps) Multiply(x, y Number) (Number, error)
- func (ops RatioOps) Quotient(x, y Number) (Number, error)
- func (ops RatioOps) Rem(x, y Number) (Number, error)
- func (ops RatioOps) Subtract(x, y Number) (Number, error)
- type ReadError
- type ReadFunc
- type ReadObject
- type Reader
- type RecurBindings
- type RecurExpr
- type Ref
- type RefImpl
- type Regex
- type ReplContext
- type Reversible
- type ReversibleImpl
- type Rope
- func (s *Rope) AppendTo(str String) String
- func (s *Rope) Compare(env *Env, other any) (int, error)
- func (s *Rope) Count() int
- func (s *Rope) Equals(env *Env, other interface{}) bool
- func (s *Rope) Hash(env *Env) (uint32, error)
- func (s *Rope) Native() interface{}
- func (s *Rope) Nth(env *Env, i int) (any, error)
- func (s *Rope) S() string
- func (s *Rope) Seq() Seq
- func (s *Rope) ToString(env *Env, escape bool) (string, error)
- func (s *Rope) TryNth(env *Env, i int, d any) (any, error)
- type RuneWindow
- type Seq
- type SeqImpl
- type SeqIterator
- type Seqable
- type SeqableImpl
- type Sequential
- type SequentialImpl
- type Set
- type SetExpr
- type SetImpl
- type SetIter
- type SetMacroExpr
- type SortableSlice
- type Stack
- type StackImpl
- type State
- type Str
- type String
- type StringImpl
- type StringReader
- type StructMap
- func (r StructMap) Assoc(env *Env, key any, value any) (Associative, error)
- func (r StructMap) Clone() StructMap
- func (r StructMap) Conj(env *Env, obj any) (Conjable, error)
- func (r StructMap) Count() int
- func (r StructMap) EntryAt(env *Env, key any) (*Vector, error)
- func (r StructMap) Get(env *Env, key any) (bool, any, error)
- func (r StructMap) GetEqu(key Equ) (bool, any)
- func (r StructMap) Iter() MapIterator
- func (r StructMap) Keys() Seq
- func (r StructMap) Merge(env *Env, other Map) (Map, error)
- func (r StructMap) Seq() Seq
- func (r StructMap) Set(env *Env, key, value any) error
- func (r StructMap) Vals() Seq
- func (r StructMap) Without(env *Env, key any) (Map, error)
- type Symbol
- func AssembleSymbol(ns, name string) Symbol
- func AssertSymbol(env *Env, obj any, msg string) (Symbol, error)
- func EnsureSymbol(env *Env, args []any, index int) (Symbol, error)
- func ExtractTagFromMeta(obj any) (Symbol, bool)
- func MakeSymbol(nsname string) Symbol
- func MakeSymbolWithMeta(nsname string, m Map) Symbol
- func MakeTaggedSymbol(nsname string, tag Symbol) Symbol
- func SymbolSetInfo(sym Symbol, info *ObjectInfo) Symbol
- type SymbolImpl
- func (s *SymbolImpl) Compare(a0 *Env, a1 any) (int, error)
- func (s *SymbolImpl) GetMeta() Map
- func (s *SymbolImpl) Is(a0 any) bool
- func (s *SymbolImpl) IsHash() uint32
- func (s *SymbolImpl) Name() string
- func (s *SymbolImpl) Namespace() string
- func (s *SymbolImpl) String() string
- func (s *SymbolImpl) WithMeta(a0 *Env, a1 Map) (any, error)
- type Symbols
- type TCContext
- type ThrowExpr
- type Time
- type TinyChar
- func (x TinyChar) Ch() rune
- func (c TinyChar) Compare(env *Env, other any) (int, error)
- func (c TinyChar) Equals(env *Env, other interface{}) bool
- func (c TinyChar) Hash(env *Env) (uint32, error)
- func (c TinyChar) Native() interface{}
- func (c TinyChar) ToString(env *Env, escape bool) (string, error)
- func (x TinyChar) WithInfo(info *ObjectInfo) any
- type TinyKeyword
- func (k TinyKeyword) Call(env *Env, args []any) (any, error)
- func (k TinyKeyword) Compare(env *Env, other any) (int, error)
- func (k TinyKeyword) Equals(env *Env, other interface{}) bool
- func (TinyKeyword) GetInfo() *ObjectInfo
- func (k TinyKeyword) Hash(env *Env) (uint32, error)
- func (k TinyKeyword) Is(other any) bool
- func (k TinyKeyword) IsHash() uint32
- func (k TinyKeyword) Name() string
- func (k TinyKeyword) Namespace() string
- func (k TinyKeyword) RawString() string
- func (k TinyKeyword) String() string
- func (k TinyKeyword) ToString(env *Env, escape bool) (string, error)
- func (k TinyKeyword) WithInfo(info *ObjectInfo) any
- type TinyNil
- func (n TinyNil) Assoc(env *Env, key, value any) (Associative, error)
- func (n TinyNil) Conj(env *Env, obj any) (Conjable, error)
- func (n TinyNil) Cons(obj any) Seq
- func (n TinyNil) Count() int
- func (n TinyNil) Disjoin(env *Env, key any) (Set, error)
- func (n TinyNil) EntryAt(env *Env, key any) (*Vector, error)
- func (n TinyNil) Equals(env *Env, other interface{}) bool
- func (n TinyNil) First(env *Env) (any, error)
- func (n TinyNil) Get(env *Env, key any) (bool, any, error)
- func (n TinyNil) GetEqu(key Equ) (bool, any)
- func (x TinyNil) GetInfo() *ObjectInfo
- func (n TinyNil) Has(key Equ) bool
- func (n TinyNil) Hash(env *Env) (uint32, error)
- func (n TinyNil) IsEmpty(env *Env) (bool, error)
- func (n TinyNil) Iter() MapIterator
- func (n TinyNil) Keys() Seq
- func (n TinyNil) Merge(env *Env, other Map) (Map, error)
- func (n TinyNil) Rest(env *Env) (Seq, error)
- func (n TinyNil) Seq() Seq
- func (n TinyNil) SetIter() SetIter
- func (x TinyNil) String() string
- func (n TinyNil) ToString(env *Env, escape bool) (string, error)
- func (n TinyNil) Vals() Seq
- func (x TinyNil) WithInfo(info *ObjectInfo) any
- func (n TinyNil) Without(env *Env, key any) (Map, error)
- type TinySymbol
- func (s TinySymbol) Call(env *Env, args []any) (any, error)
- func (s TinySymbol) Compare(env *Env, other any) (int, error)
- func (s TinySymbol) Equals(env *Env, other interface{}) bool
- func (sym TinySymbol) GetInfo() *ObjectInfo
- func (sym TinySymbol) GetMeta() Map
- func (s TinySymbol) Hash(env *Env) (uint32, error)
- func (s TinySymbol) Is(other any) bool
- func (s TinySymbol) IsHash() uint32
- func (s TinySymbol) Name() string
- func (s TinySymbol) Namespace() string
- func (s TinySymbol) String() string
- func (s TinySymbol) ToString(env *Env, escape bool) (string, error)
- func (sym TinySymbol) WithInfo(info *ObjectInfo) any
- func (sym TinySymbol) WithMeta(env *Env, meta Map) (any, error)
- type TryExpr
- type Type
- type Upval
- type VMStacktrace
- type Var
- func (v *Var) AlterMeta(env *Env, fn *Fn, args []any) (Map, error)
- func (v *Var) Call(env *Env, args []any) (any, error)
- func (v *Var) Deref(env *Env) (any, error)
- func (v *Var) Equals(env *Env, other interface{}) bool
- func (v *Var) GetStatic() any
- func (v *Var) Hash(env *Env) (uint32, error)
- func (v *Var) Name() string
- func (v *Var) ResetMeta(newMeta Map) Map
- func (v *Var) Resolve(env *Env) any
- func (v *Var) Set() bool
- func (v *Var) SetStatic(val any)
- func (v *Var) SetValue(env *Env, val any) error
- func (v *Var) String() string
- func (v *Var) ToString(env *Env, escape bool) (string, error)
- func (x *Var) WithInfo(info *ObjectInfo) any
- func (v *Var) WithMeta(env *Env, meta Map) (any, error)
- type VarData
- type VarRefExpr
- type Vector
- func AssertVector(env *Env, obj any, msg string) (*Vector, error)
- func EmptyVector() *Vector
- func EmptyVectorWithMeta(m Map) *Vector
- func EnsureVector(env *Env, args []any, index int) (*Vector, error)
- func MakeStringVector(ss []string) *Vector
- func NewVectorFrom(objs ...any) *Vector
- func NewVectorFromSeq(env *Env, seq Seq) (*Vector, error)
- func (v *Vector) Assoc(env *Env, key, val any) (Associative, error)
- func (v *Vector) Call(env *Env, args []any) (any, error)
- func (v *Vector) Compare(env *Env, other any) (int, error)
- func (v *Vector) Conj(env *Env, obj any) (Conjable, error)
- func (v *Vector) Conjoin(obj any) (*Vector, error)
- func (v *Vector) Count() int
- func (v *Vector) Empty() Collection
- func (v *Vector) EntryAt(env *Env, key any) (*Vector, error)
- func (v *Vector) Equals(env *Env, other interface{}) bool
- func (v *Vector) Get(env *Env, key any) (bool, any, error)
- func (v *Vector) Hash(env *Env) (uint32, error)
- func (v *Vector) Nth(env *Env, i int) (any, error)
- func (v *Vector) Peek(env *Env) (any, error)
- func (v *Vector) Pop(env *Env) (Stack, error)
- func (v *Vector) Pprint(env *Env, w io.Writer, indent int) (int, error)
- func (v *Vector) Rseq() Seq
- func (v *Vector) Seq() Seq
- func (v *Vector) ToString(env *Env, escape bool) (string, error)
- func (v *Vector) TryNth(env *Env, i int, d any) (any, error)
- func (x *Vector) WithInfo(info *ObjectInfo) any
- func (v *Vector) WithMeta(env *Env, meta Map) (any, error)
- type VectorExpr
- type VectorRSeq
- func (vseq *VectorRSeq) Cons(obj any) Seq
- func (vseq *VectorRSeq) Equals(env *Env, other interface{}) bool
- func (vseq *VectorRSeq) First(env *Env) (any, error)
- func (vseq *VectorRSeq) Hash(env *Env) (uint32, error)
- func (vseq *VectorRSeq) IsEmpty(env *Env) (bool, error)
- func (seq *VectorRSeq) Pprint(env *Env, w io.Writer, indent int) (int, error)
- func (vseq *VectorRSeq) Rest(env *Env) (Seq, error)
- func (seq *VectorRSeq) Seq() Seq
- func (vseq *VectorRSeq) ToString(env *Env, escape bool) (string, error)
- func (x *VectorRSeq) WithInfo(info *ObjectInfo) any
- func (vseq *VectorRSeq) WithMeta(env *Env, meta Map) (any, error)
- type VectorSeq
- func (vseq *VectorSeq) Cons(obj any) Seq
- func (vseq *VectorSeq) Equals(env *Env, other interface{}) bool
- func (vseq *VectorSeq) First(env *Env) (any, error)
- func (vseq *VectorSeq) Hash(env *Env) (uint32, error)
- func (vseq *VectorSeq) IsEmpty(env *Env) (bool, error)
- func (seq *VectorSeq) Pprint(env *Env, w io.Writer, indent int) (int, error)
- func (vseq *VectorSeq) Rest(env *Env) (Seq, error)
- func (seq *VectorSeq) Seq() Seq
- func (vseq *VectorSeq) ToString(env *Env, escape bool) (string, error)
- func (x *VectorSeq) WithInfo(info *ObjectInfo) any
- func (vseq *VectorSeq) WithMeta(env *Env, meta Map) (any, error)
- type Warnings
Constants ¶
const ( INTEGER_CATEGORY = iota FLOATING_CATEGORY = iota RATIO_CATEGORY = iota )
const EOF = -1
const KeywordHashMask uint32 = 0x7334c790
const MAX_RUNE = int(^uint32(0) >> 1)
const MIN_RUNE = -MAX_RUNE - 1
const VERSION = "v0.14.2"
Variables ¶
var ( Stdin io.Reader = os.Stdin Stdout io.Writer = os.Stdout Stderr io.Writer = os.Stderr VerbosityLevel = 0 )
var ( INT_OPS = IntOps{} DOUBLE_OPS = DoubleOps{} BIGINT_OPS = BigIntOps{} BIGFLOAT_OPS = BigFloatOps{} RATIO_OPS = RatioOps{} )
var ( LOCAL_BINDINGS *Bindings = nil KNOWN_MACROS *Var REQUIRE_VAR *Var ALIAS_VAR *Var REFER_VAR *Var CREATE_NS_VAR *Var IN_NS_VAR *Var WARNINGS = Warnings{ // contains filtered or unexported fields } )
var ( LINTER_MODE bool = false PROBLEM_COUNT = 0 DIALECT Dialect LINTER_CONFIG *Var )
var (
EmptyHashMap = &HashMap{}
)
var EmptyList = NewList(NIL, nil)
var ErrCustomError = errors.New("custom error")
var ErrStackOverflow = errors.New("stack overflow, not enough stack room")
var Exit func(rc int)
var (
HASHMAP_THRESHOLD int64 = 16
)
var NIL = TinyNil{}
var NativeRegistry = map[string]NativeSetup{}
var ( STR = Str{ // contains filtered or unexported fields } )
Functions ¶
func AddNativeNamespace ¶
func AddNativeNamespace(name string, setup NativeSetup)
func Assertio_RuneReader ¶
func CombineToString ¶
Combine many values into a single string.
func CompareNumbers ¶
func ConcatSimple ¶
Concatinate N sequences together
func ConvertToSeq ¶
Convert the given value to a Seq
func DeriveReadObject ¶
func DisplayError ¶
func Ensureio_RuneReader ¶
func EqualsValues ¶
Compare two values returning a boolean if they are equal or not
func ErrorArity ¶
func ErrorArityMinMax ¶
func IsSeqEqual ¶
func IsSpecialSymbol ¶
func LoadLibFromPath ¶
Attempt to load a given lib from a given path.
func MakeReadObject ¶
func ProcessLinterFiles ¶
func ProcessReaderFromEval ¶
func PushBindings ¶
Add given bindings to the set of current Var bindings, returning the original set.
func ReadIntoBytecode ¶
func ResetUsage ¶
func ResetUsage(env *Env)
func ReturnArityMinMax ¶
func SetBindings ¶
func SetBindings(env *Env, assoc Associative) (any, error)
Reset the local var bindings to the given value.
func SetInfo ¶
func SetInfo(obj any, info *ObjectInfo) any
func SimpleToString ¶
func StartGoRoutine ¶
StartGoRoutine runs the given callable in a new goroutine, returning a channel that can be used to retrieve the return value.
func TryCoerceString ¶
func WarnOnGloballyUnusedNamespaces ¶
func WarnOnGloballyUnusedNamespaces(env *Env)
func WarnOnGloballyUnusedVars ¶
func WarnOnGloballyUnusedVars(env *Env)
func WarnOnUnusedNamespaces ¶
func WarnOnUnusedNamespaces(env *Env)
func WarnOnUnusedVars ¶
func WarnOnUnusedVars(env *Env)
func WrapToProc0_0 ¶
func WrapToProc0_0(fn func()) any
func WrapToProc0_1 ¶
func WrapToProc0_2 ¶
func WrapToProc1_0 ¶
func WrapToProc1_1 ¶
func WrapToProc1_2 ¶
func WrapToProc2_0 ¶
func WrapToProc2_1 ¶
func WrapToProc2_2 ¶
func WrapToProc3_0 ¶
func WrapToProc3_1 ¶
func WrapToProc3_2 ¶
Types ¶
type ArrayMap ¶
type ArrayMap struct { InfoHolder MetaHolder // contains filtered or unexported fields }
A Map implementation that uses a simple array. Very efficient for small maps.
func EmptyArrayMap ¶
func EmptyArrayMap() *ArrayMap
func (*ArrayMap) Empty ¶
func (m *ArrayMap) Empty() Collection
func (*ArrayMap) Iter ¶
func (m *ArrayMap) Iter() MapIterator
func (*ArrayMap) WithInfo ¶
func (x *ArrayMap) WithInfo(info *ObjectInfo) any
type ArrayMapIterator ¶
type ArrayMapIterator struct {
// contains filtered or unexported fields
}
func (*ArrayMapIterator) HasNext ¶
func (iter *ArrayMapIterator) HasNext() bool
func (*ArrayMapIterator) Next ¶
func (iter *ArrayMapIterator) Next() *Pair
type ArrayMapSeq ¶
type ArrayMapSeq struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func (*ArrayMapSeq) Cons ¶
func (seq *ArrayMapSeq) Cons(obj any) Seq
func (*ArrayMapSeq) Equals ¶
func (seq *ArrayMapSeq) Equals(env *Env, other interface{}) bool
func (*ArrayMapSeq) Seq ¶
func (seq *ArrayMapSeq) Seq() Seq
func (*ArrayMapSeq) ToString ¶
func (seq *ArrayMapSeq) ToString(env *Env, escape bool) (string, error)
func (*ArrayMapSeq) WithInfo ¶
func (x *ArrayMapSeq) WithInfo(info *ObjectInfo) any
type ArrayNodeIterator ¶
type ArrayNodeIterator struct {
// contains filtered or unexported fields
}
func (*ArrayNodeIterator) HasNext ¶
func (iter *ArrayNodeIterator) HasNext() bool
func (*ArrayNodeIterator) Next ¶
func (iter *ArrayNodeIterator) Next() *Pair
type ArrayNodeSeq ¶
type ArrayNodeSeq struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func (*ArrayNodeSeq) Cons ¶
func (s *ArrayNodeSeq) Cons(obj any) Seq
func (*ArrayNodeSeq) Equals ¶
func (s *ArrayNodeSeq) Equals(env *Env, other interface{}) bool
func (*ArrayNodeSeq) Seq ¶
func (s *ArrayNodeSeq) Seq() Seq
func (*ArrayNodeSeq) ToString ¶
func (s *ArrayNodeSeq) ToString(env *Env, escape bool) (string, error)
func (*ArrayNodeSeq) WithInfo ¶
func (x *ArrayNodeSeq) WithInfo(info *ObjectInfo) any
type ArraySeq ¶
type ArraySeq struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func ArraySeqFromArrayMap ¶
func (*ArraySeq) WithInfo ¶
func (x *ArraySeq) WithInfo(info *ObjectInfo) any
type Associative ¶
type Associative interface { Conjable Gettable EntryAt(env *Env, key any) (*Vector, error) Assoc(env *Env, key, val any) (Associative, error) }
When a collection can store and retrieve values by an associated key.
func AssertAssociative ¶
func AssertAssociative(env *Env, obj any, msg string) (Associative, error)
func EnsureAssociative ¶
func EnsureAssociative(env *Env, args []any, index int) (Associative, error)
func NewArrayMap ¶
func NewArrayMap(key Equ, value any) (Associative, error)
type AssociativeImpl ¶
type AssociativeImpl struct { AssocFn func(*Env, any, any) (Associative, error) ConjFn func(*Env, any) (Conjable, error) EntryAtFn func(*Env, any) (*Vector, error) GetFn func(*Env, any) (bool, any, error) }
func (*AssociativeImpl) Assoc ¶
func (s *AssociativeImpl) Assoc(a0 *Env, a1 any, a2 any) (Associative, error)
type Atom ¶
type Atom struct { MetaHolder // contains filtered or unexported fields }
A value that contains space for a single other value that can be swapped in. Ie an atom is an atomic value.
func (*Atom) GetInfo ¶
func (a *Atom) GetInfo() *ObjectInfo
func (*Atom) WithInfo ¶
func (a *Atom) WithInfo(info *ObjectInfo) any
type BigFloat ¶
type BigFloat struct { InfoHolder // contains filtered or unexported fields }
A floating point value that can be any size, practically.
func MakeBigFloatFrom ¶
func (*BigFloat) NativeNumber ¶
func (*BigFloat) WithInfo ¶
func (x *BigFloat) WithInfo(info *ObjectInfo) any
type BigFloatOps ¶
type BigFloatOps struct{}
func (BigFloatOps) Combine ¶
func (ops BigFloatOps) Combine(other Ops) Ops
func (BigFloatOps) IsZero ¶
func (ops BigFloatOps) IsZero(x Number) bool
type BigInt ¶
type BigInt struct { InfoHolder // contains filtered or unexported fields }
An integer value that can be so large, it's hard to understand it.
func MakeBigInt ¶
func MakeBigIntFrom ¶
func (*BigInt) NativeNumber ¶
func (*BigInt) WithInfo ¶
func (x *BigInt) WithInfo(info *ObjectInfo) any
type BindingData ¶
type BindingData struct {
// contains filtered or unexported fields
}
func (*BindingData) String ¶
func (v *BindingData) String() string
type BindingExpr ¶
type BindingExpr struct { Position // contains filtered or unexported fields }
func (*BindingExpr) Dump ¶
func (expr *BindingExpr) Dump(pos bool) Map
type Bindings ¶
type Bindings struct {
// contains filtered or unexported fields
}
func (*Bindings) GetBinding ¶
type BitmapIndexedNode ¶
type BitmapIndexedNode struct {
// contains filtered or unexported fields
}
type Boolean ¶
type Boolean bool
It's true, or it's false. Never both.
func MakeBoolean ¶
func (Boolean) GetInfo ¶
func (b Boolean) GetInfo() *ObjectInfo
func (Boolean) WithInfo ¶
func (x Boolean) WithInfo(info *ObjectInfo) any
type Buffer ¶
func MakeBuffer ¶
func (*Buffer) GetInfo ¶
func (b *Buffer) GetInfo() *ObjectInfo
func (*Buffer) WithInfo ¶
func (b *Buffer) WithInfo(info *ObjectInfo) any
type BufferedReader ¶
A value that can return data that has been buffered.
func MakeBufferedReader ¶
func MakeBufferedReader(rd io.Reader) *BufferedReader
type BySymbolName ¶
type BySymbolName []Symbol
func (BySymbolName) Len ¶
func (s BySymbolName) Len() int
func (BySymbolName) Less ¶
func (s BySymbolName) Less(i, j int) bool
func (BySymbolName) Swap ¶
func (s BySymbolName) Swap(i, j int)
type BytecodeEncoder ¶
type BytecodeEncoder struct {
CodeData
}
func (*BytecodeEncoder) Encode ¶
func (e *BytecodeEncoder) Encode(i *Instruction) error
type CallableImpl ¶
type Channel ¶
type Channel struct {
// contains filtered or unexported fields
}
func MakeChannel ¶
func MakeChannel(ch chan FutureResult) *Channel
func (*Channel) GetInfo ¶
func (ch *Channel) GetInfo() *ObjectInfo
func (*Channel) WithInfo ¶
func (ch *Channel) WithInfo(info *ObjectInfo) any
type Char ¶
type Char interface { any Comparable Ch() rune // contains filtered or unexported methods }
A single unicode rune.
type CharImpl ¶
type CheckTypeData ¶
type CheckTypeData struct {
Type Type
}
type CodeAsData ¶
type CodeAsData struct { NumBindings int `json:"num_bindings" cbor:"1,keyasint,omitempty"` ImportUpvals int `json:"import_upvals" cbor:"2,keyasint,omitempty"` TotalUpvals int `json:"total_upvals" cbor:"3,keyasint,omitempty"` Filename string `json:"filename" cbor:"4,keyasint,omitempty"` Lines []int `json:"lines" cbor:"5,keyasint,omitempty"` ImportBindings []string `json:"import_bindings" cbor:"6,keyasint,omitempty"` VarNames []CodeSymbol `json:"var_names" cbor:"7,keyasint,omitempty"` DefVarNames []string `json:"def_var_names" cbor:"8,keyasint,omitempty"` Literals []*CodeLiteral `json:"literals" cbor:"9,keyasint,omitempty"` Codes []*CodeAsData `json:"codes" cbor:"10,keyasint,omitempty"` Methods []CodeMethod `json:"methods" cbor:"11,keyasint,omitempty"` Instructions []uint32 `json:"instructions" cbor:"12,keyasint,omitempty"` StackSize uint32 `json:"stack_size" cbor:"13,keyasint,omitempty"` }
type CodeBoolean ¶
type CodeBoolean struct {
Bool bool `json:"bool" cbor:"1,keyasint"`
}
type CodeDouble ¶
type CodeDouble struct {
Double float64 `json:"double" cbor:"1,keyasint"`
}
type CodeEncoded ¶
type CodeEncoded struct {
Data []byte `json:"data" cbor:"1,keyasint"`
}
type CodeKeyword ¶
type CodeKeyword struct { Position *CodePosition Namespace string `json:"ns" cbor:"1,keyasint"` Name string `json:"name" cbor:"2,keyasint"` }
func (*CodeKeyword) Keyword ¶
func (c *CodeKeyword) Keyword() Keyword
func (*CodeKeyword) Set ¶
func (c *CodeKeyword) Set(kw Keyword)
type CodeLiteral ¶
type CodeLiteral struct { Symbol *CodeSymbol `json:"symbol,omitempty" cbor:"1,keyasint,omitempty"` Var *CodeVar `json:"var,omitempty" cbor:"2,keyasint,omitempty"` Type *CodeType `json:"type,omitempty" cbor:"3,keyasint,omitempty"` Encoded *CodeEncoded `json:"encoded,omitempty" cbor:"4,keyasint,omitempty"` String *CodeString `json:"string,omitempty" cbor:"5,keyasint,omitempty"` Keyword *CodeKeyword `json:"keyword,omitempty" cbor:"6,keyasint,omitempty"` Map *CodeMap `json:"map,omitempty" cbor:"7,keyasint,omitempty"` Int *CodeInt `json:"int,omitempty" cbor:"8,keyasint,omitempty"` Seq *CodeSeq `json:"seq,omitempty" cbor:"9,keyasint,omitempty"` Vector *CodeVector `json:"vector,omitempty" cbor:"10,keyasint,omitempty"` NS *CodeNamespace `json:"ns,omitempty" cbor:"11,keyasint,omitempty"` Bool *CodeBoolean `json:"bool,omitempty" cbor:"12,keyasint,omitempty"` Char *CodeChar `json:"char,omitempty" cbor:"13,keyasint,omitempty"` Regex *CodeRegex `json:"regex,omitempty" cbor:"14,keyasint,omitempty"` Double *CodeDouble `json:"double,omitempty" cbor:"15,keyasint,omitempty"` }
type CodeMap ¶
type CodeMap struct {
Pairs []CodeMapPair `json:"pairs" cbor:"1,keyasint"`
}
type CodeMapPair ¶
type CodeMapPair struct { Key CodeLiteral `json:"key" cbor:"1,keyasint"` Value CodeLiteral `json:"value" cbor:"2,keyasint"` }
type CodeMethod ¶
type CodeNamespace ¶
type CodeNamespace struct {
Name CodeSymbol `json:"name" cbor:"1,keyasint"`
}
type CodePosition ¶
type CodePosition struct { StartLine int `json:"start_line" cbor:"1,keyasint"` EndLine int `json:"end_line" cbor:"2,keyasint"` StartColumn int `json:"start_column" cbor:"3,keyasint"` EndColumn int `json:"end_column" cbor:"4,keyasint"` Filename string `json:"filename" cbor:"5,keyasint"` }
func (*CodePosition) Position ¶
func (c *CodePosition) Position() Position
func (*CodePosition) Set ¶
func (c *CodePosition) Set(pos Position)
type CodeSeq ¶
type CodeSeq struct {
Elements []CodeLiteral `json:"elements" cbor:"1,keyasint"`
}
type CodeString ¶
type CodeString struct {
String string `json:"string" cbor:"1,keyasint"`
}
type CodeSymbol ¶
type CodeSymbol struct { Position *CodePosition Namespace string `json:"ns" cbor:"1,keyasint"` Name string `json:"name" cbor:"2,keyasint"` }
func (*CodeSymbol) Set ¶
func (c *CodeSymbol) Set(sym Symbol)
func (*CodeSymbol) Symbol ¶
func (c *CodeSymbol) Symbol() Symbol
type CodeVar ¶
type CodeVar struct {
Name CodeSymbol `json:"name" cbor:"1,keyasint"`
}
type CodeVector ¶
type CodeVector struct {
Elements []CodeLiteral `json:"elements" cbor:"1,keyasint"`
}
type Collection ¶
type Collection interface { Counted Seqable Empty() Collection }
When a value has the standard collection interfaces.
type CollectionImpl ¶
type CollectionImpl struct { CountFn func() int EmptyFn func() Collection SeqFn func() Seq }
func (*CollectionImpl) Count ¶
func (s *CollectionImpl) Count() int
func (*CollectionImpl) Empty ¶
func (s *CollectionImpl) Empty() Collection
func (*CollectionImpl) Seq ¶
func (s *CollectionImpl) Seq() Seq
type Comparable ¶
When a value can report if it's less, same, or bigger than another value.
func AssertComparable ¶
func AssertComparable(env *Env, obj any, msg string) (Comparable, error)
func EnsureComparable ¶
func EnsureComparable(env *Env, args []any, index int) (Comparable, error)
type ComparableImpl ¶
type Comparator ¶
When a value can report if two values are are less, same, or bigger than another value.
func AssertComparator ¶
func AssertComparator(env *Env, obj any, msg string) (Comparator, error)
func EnsureComparator ¶
func EnsureComparator(env *Env, args []any, index int) (Comparator, error)
type ComparatorImpl ¶
type ConsSeq ¶
type ConsSeq struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func NewConsSeq ¶
func (*ConsSeq) WithInfo ¶
func (x *ConsSeq) WithInfo(info *ObjectInfo) any
type ConvRegistry ¶
type ConvRegistry struct {
// contains filtered or unexported fields
}
func (*ConvRegistry) ConverterForFunc ¶
func (c *ConvRegistry) ConverterForFunc(v reflect.Value) (ProcFn, *conversionSet, error)
type CountedImpl ¶
type CountedImpl struct {
CountFn func() int
}
func (*CountedImpl) Count ¶
func (s *CountedImpl) Count() int
type DefTypeInfo ¶
type DefVarInfo ¶
type Delay ¶
type Delay struct {
// contains filtered or unexported fields
}
A value that runs a function to produce a new value. Ie, it 'delays' running the function until the value is needed.
func (*Delay) GetInfo ¶
func (d *Delay) GetInfo() *ObjectInfo
func (*Delay) IsRealized ¶
func (*Delay) WithInfo ¶
func (d *Delay) WithInfo(info *ObjectInfo) any
type Double ¶
type Double struct { InfoHolder D float64 }
A floating point value who's size is constraint to the host's largest floating point value.
func MakeDouble ¶
func (Double) NativeNumber ¶
func (Double) WithInfo ¶
func (x Double) WithInfo(info *ObjectInfo) any
type EmptyMapIterator ¶
type EmptyMapIterator struct { }
func (*EmptyMapIterator) HasNext ¶
func (iter *EmptyMapIterator) HasNext() bool
func (*EmptyMapIterator) Next ¶
func (iter *EmptyMapIterator) Next() *Pair
type EmptySetIterator ¶
type EmptySetIterator struct{}
func (*EmptySetIterator) HasNext ¶
func (iter *EmptySetIterator) HasNext(env *Env) bool
type EngineFrame ¶
type Env ¶
type Env struct { *State Parent *Env CurrentVar Associative Context context.Context Engine *Engine DebugBytecode bool // contains filtered or unexported fields }
func (*Env) AllNamespaceValues ¶
func (*Env) AllNamespaces ¶
func (*Env) CurrentNamespace ¶
func (*Env) EnsureNamespace ¶
func (*Env) FindNamespace ¶
func (*Env) NewArgTypeError ¶
func (*Env) RemoveNamespace ¶
func (*Env) ResolveType ¶
func (*Env) ResolveTypeFroMeta ¶
func (*Env) SetClassPath ¶
This runs after invariant initialization, which includes calling
NewEnv().
func (*Env) SetCurrentNamespace ¶
func (*Env) SetEnvArgs ¶
func (*Env) SetFilename ¶
This runs after invariant initialization, which includes calling
NewEnv().
func (*Env) SetMainFilename ¶
This runs after invariant initialization, which includes calling
NewEnv().
func (*Env) SetupNamespace ¶
type EvalError ¶
type EvalError struct { Map // contains filtered or unexported fields }
The standard error thrown when evalution of a program encounters an error.
func NewEvalError ¶
func StubNewArgTypeError ¶
func StubNewError ¶
func (*EvalError) WithInfo ¶
func (err *EvalError) WithInfo(info *ObjectInfo) any
type ExInfo ¶
type ExInfo struct { ArrayMap // contains filtered or unexported fields }
func (*ExInfo) WithInfo ¶
func (x *ExInfo) WithInfo(info *ObjectInfo) any
type Expr ¶
type Fn ¶
type Fn struct { InfoHolder MetaHolder // contains filtered or unexported fields }
A value that contains code and can be called to run that code.
func (*Fn) WithInfo ¶
func (x *Fn) WithInfo(info *ObjectInfo) any
type FnArityExpr ¶
type FnArityExpr struct { Position // contains filtered or unexported fields }
func (*FnArityExpr) Dump ¶
func (expr *FnArityExpr) Dump(pos bool) Map
type Future ¶
type Future struct {
// contains filtered or unexported fields
}
func NewFuture ¶
NewFuture creates a new Future value and schedules the future to be run. Deref'ing the Future will retrieve the value (potentially waiting if the value is not yet ready)
func (*Future) IsRealized ¶
type FutureResult ¶
type FutureResult struct {
// contains filtered or unexported fields
}
func MakeFutureResult ¶
func MakeFutureResult(value any, err Error) FutureResult
type GettableImpl ¶
type GoString ¶
type GoString string
func (GoString) GetInfo ¶
func (s GoString) GetInfo() *ObjectInfo
func (GoString) WithInfo ¶
func (s GoString) WithInfo(info *ObjectInfo) any
type HasCategory ¶
type HasCategory interface {
Category() string
}
type HasGetType ¶
type HasGetType interface {
GetType() Type
}
type HasInfo ¶
type HasInfo interface { GetInfo() *ObjectInfo WithInfo(info *ObjectInfo) any }
type HasReflectType ¶
type HashCollisionNode ¶
type HashCollisionNode struct {
// contains filtered or unexported fields
}
type HashMap ¶
type HashMap struct { InfoHolder MetaHolder // contains filtered or unexported fields }
A Map implementation that can store a large number of values efficiently.
func (*HashMap) Empty ¶
func (m *HashMap) Empty() Collection
func (*HashMap) Iter ¶
func (m *HashMap) Iter() MapIterator
func (*HashMap) WithInfo ¶
func (x *HashMap) WithInfo(info *ObjectInfo) any
type HeavyChar ¶
type HeavyChar struct { InfoHolder // contains filtered or unexported fields }
func (*HeavyChar) WithInfo ¶
func (x *HeavyChar) WithInfo(info *ObjectInfo) any
type HeavyKeyword ¶
type HeavyKeyword struct { InfoHolder // contains filtered or unexported fields }
func (*HeavyKeyword) Equals ¶
func (k *HeavyKeyword) Equals(env *Env, other interface{}) bool
func (*HeavyKeyword) Is ¶
func (k *HeavyKeyword) Is(other any) bool
func (*HeavyKeyword) IsHash ¶
func (k *HeavyKeyword) IsHash() uint32
func (*HeavyKeyword) Name ¶
func (k *HeavyKeyword) Name() string
func (*HeavyKeyword) Namespace ¶
func (k *HeavyKeyword) Namespace() string
func (*HeavyKeyword) RawString ¶
func (k *HeavyKeyword) RawString() string
func (*HeavyKeyword) String ¶
func (k *HeavyKeyword) String() string
func (*HeavyKeyword) ToString ¶
func (k *HeavyKeyword) ToString(env *Env, escape bool) (string, error)
func (*HeavyKeyword) WithInfo ¶
func (k *HeavyKeyword) WithInfo(info *ObjectInfo) any
type HeavyNil ¶
type HeavyNil struct {
// contains filtered or unexported fields
}
func (HeavyNil) GetInfo ¶
func (x HeavyNil) GetInfo() *ObjectInfo
func (HeavyNil) Iter ¶
func (n HeavyNil) Iter() MapIterator
func (HeavyNil) WithInfo ¶
func (x HeavyNil) WithInfo(info *ObjectInfo) any
type HeavySymbol ¶
type HeavySymbol struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func MakeHeavySymbol ¶
func MakeHeavySymbol(nsname string) *HeavySymbol
func (*HeavySymbol) Equals ¶
func (s *HeavySymbol) Equals(env *Env, other interface{}) bool
func (*HeavySymbol) Is ¶
func (s *HeavySymbol) Is(other any) bool
func (*HeavySymbol) IsHash ¶
func (s *HeavySymbol) IsHash() uint32
func (*HeavySymbol) Name ¶
func (s *HeavySymbol) Name() string
func (*HeavySymbol) Namespace ¶
func (s *HeavySymbol) Namespace() string
func (*HeavySymbol) String ¶
func (s *HeavySymbol) String() string
func (*HeavySymbol) ToString ¶
func (s *HeavySymbol) ToString(env *Env, escape bool) (string, error)
func (*HeavySymbol) WithInfo ¶
func (x *HeavySymbol) WithInfo(info *ObjectInfo) any
type IOReader ¶
func MakeIOReader ¶
type IOWriter ¶
func MakeIOWriter ¶
type Indexed ¶
type Indexed interface { Nth(env *Env, i int) (any, error) TryNth(env *Env, i int, d any) (any, error) }
When a collection can return a contained value an a fixed offset.
type IndexedImpl ¶
type InfoHolder ¶
type InfoHolder struct {
// contains filtered or unexported fields
}
implementations
func (InfoHolder) GetInfo ¶
func (i InfoHolder) GetInfo() *ObjectInfo
type Instruction ¶
type Instruction struct { Op OpCode A0 int32 S string Data InstructionData }
type InstructionData ¶
type InstructionData interface {
// contains filtered or unexported methods
}
type Int ¶
type Int int
The host int value
func (Int) GetInfo ¶
func (i Int) GetInfo() *ObjectInfo
func (Int) NativeNumber ¶
func (Int) WithInfo ¶
func (i Int) WithInfo(info *ObjectInfo) any
type Integer ¶
type Integer interface { I64() int64 // contains filtered or unexported methods }
The Common integer type (can be Int or BigInt)
type IntegerImpl ¶
type IntegerImpl struct { I64Fn func() int64 // contains filtered or unexported fields }
func (*IntegerImpl) I64 ¶
func (s *IntegerImpl) I64() int64
type KVReduce ¶
type KVReduce interface {
// contains filtered or unexported methods
}
When a value can orchestrate reducing itself value a callable.
type KVReduceImpl ¶
type KVReduceImpl struct {
// contains filtered or unexported fields
}
type Keyword ¶
type Keyword interface { Equ Comparable Callable HasInfo Name() string Namespace() string String() string RawString() string // contains filtered or unexported methods }
A value that is just a name who's meaning is itself. It sounds meta, I know. It's just a name, usually used as a key in a association. Maybe you want to think of it as a short, compact, namespace'd string? That's fine.
func MakeKeyword ¶
func NewKeyword ¶
type KeywordImpl ¶
type KeywordImpl struct { CallFn func(*Env, []any) (any, error) CompareFn func(*Env, any) (int, error) GetInfoFn func() *ObjectInfo IsFn func(any) bool IsHashFn func() uint32 NameFn func() string NamespaceFn func() string RawStringFn func() string StringFn func() string WithInfoFn func(*ObjectInfo) any // contains filtered or unexported fields }
func (*KeywordImpl) GetInfo ¶
func (s *KeywordImpl) GetInfo() *ObjectInfo
func (*KeywordImpl) Is ¶
func (s *KeywordImpl) Is(a0 any) bool
func (*KeywordImpl) IsHash ¶
func (s *KeywordImpl) IsHash() uint32
func (*KeywordImpl) Name ¶
func (s *KeywordImpl) Name() string
func (*KeywordImpl) Namespace ¶
func (s *KeywordImpl) Namespace() string
func (*KeywordImpl) RawString ¶
func (s *KeywordImpl) RawString() string
func (*KeywordImpl) String ¶
func (s *KeywordImpl) String() string
func (*KeywordImpl) WithInfo ¶
func (s *KeywordImpl) WithInfo(a0 *ObjectInfo) any
type LazySeq ¶
type LazySeq struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func NewLazySeq ¶
func (*LazySeq) IsRealized ¶
func (*LazySeq) WithInfo ¶
func (x *LazySeq) WithInfo(info *ObjectInfo) any
type LightSymbol ¶
type LightSymbol struct {
// contains filtered or unexported fields
}
func (*LightSymbol) Equals ¶
func (s *LightSymbol) Equals(env *Env, other interface{}) bool
func (*LightSymbol) GetInfo ¶
func (sym *LightSymbol) GetInfo() *ObjectInfo
func (*LightSymbol) GetMeta ¶
func (sym *LightSymbol) GetMeta() Map
func (*LightSymbol) Is ¶
func (s *LightSymbol) Is(other any) bool
func (*LightSymbol) IsHash ¶
func (s *LightSymbol) IsHash() uint32
func (*LightSymbol) Name ¶
func (s *LightSymbol) Name() string
func (*LightSymbol) Namespace ¶
func (s *LightSymbol) Namespace() string
func (*LightSymbol) String ¶
func (s *LightSymbol) String() string
func (*LightSymbol) ToString ¶
func (s *LightSymbol) ToString(env *Env, escape bool) (string, error)
func (*LightSymbol) WithInfo ¶
func (sym *LightSymbol) WithInfo(info *ObjectInfo) any
type LineRuneReader ¶
type LineRuneReader struct { Prompt string // contains filtered or unexported fields }
func NewLineRuneReader ¶
func NewLineRuneReader(rl *liner.State) *LineRuneReader
type List ¶
type List struct { InfoHolder MetaHolder // contains filtered or unexported fields }
The standard lisp persistent list.
func NewListFrom ¶
func (*List) Empty ¶
func (list *List) Empty() Collection
func (*List) WithInfo ¶
func (x *List) WithInfo(info *ObjectInfo) any
type LiteralData ¶
type LiteralData struct {
// contains filtered or unexported fields
}
func (*LiteralData) String ¶
func (v *LiteralData) String() string
type LiteralExpr ¶
type LiteralExpr struct { Position // contains filtered or unexported fields }
func NewLiteralExpr ¶
func NewLiteralExpr(obj any) *LiteralExpr
func NewSurrogateExpr ¶
func NewSurrogateExpr(obj any) *LiteralExpr
func (*LiteralExpr) Dump ¶
func (expr *LiteralExpr) Dump(pos bool) Map
type MacroCallExpr ¶
type MacroCallExpr struct { Position // contains filtered or unexported fields }
func (*MacroCallExpr) Dump ¶
func (expr *MacroCallExpr) Dump(pos bool) Map
func (*MacroCallExpr) Name ¶
func (expr *MacroCallExpr) Name() string
type Map ¶
type Map interface { Associative Seqable Counted Without(env *Env, key any) (Map, error) Keys() Seq Vals() Seq Merge(env *Env, m Map) (Map, error) Iter() MapIterator GetEqu(key Equ) (bool, any) }
A collection that contains the full complement of functionality for dealing with having objects that are stored by association with a key.
type MapImpl ¶
type MapImpl struct { AssocFn func(*Env, any, any) (Associative, error) ConjFn func(*Env, any) (Conjable, error) CountFn func() int EntryAtFn func(*Env, any) (*Vector, error) GetFn func(*Env, any) (bool, any, error) GetEquFn func(Equ) (bool, any) IterFn func() MapIterator KeysFn func() Seq MergeFn func(*Env, Map) (Map, error) SeqFn func() Seq ValsFn func() Seq WithoutFn func(*Env, any) (Map, error) }
func (*MapImpl) Iter ¶
func (s *MapImpl) Iter() MapIterator
type MapIterator ¶
type MapSet ¶
type MapSet struct { InfoHolder MetaHolder // contains filtered or unexported fields }
A Set implementation that uses a Map.
func (*MapSet) Empty ¶
func (set *MapSet) Empty() Collection
func (*MapSet) WithInfo ¶
func (x *MapSet) WithInfo(info *ObjectInfo) any
type MapSetIter ¶
type MapSetIter struct {
// contains filtered or unexported fields
}
func (*MapSetIter) HasNext ¶
func (i *MapSetIter) HasNext(env *Env) bool
type MappingSeq ¶
type MappingSeq struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func (*MappingSeq) Cons ¶
func (seq *MappingSeq) Cons(obj any) Seq
func (*MappingSeq) Equals ¶
func (seq *MappingSeq) Equals(env *Env, other interface{}) bool
func (*MappingSeq) Seq ¶
func (seq *MappingSeq) Seq() Seq
func (*MappingSeq) ToString ¶
func (seq *MappingSeq) ToString(env *Env, escape bool) (string, error)
func (*MappingSeq) WithInfo ¶
func (x *MappingSeq) WithInfo(info *ObjectInfo) any
type MetaHolder ¶
type MetaHolder struct {
// contains filtered or unexported fields
}
implementations
func (*MetaHolder) ClearMeta ¶
func (m *MetaHolder) ClearMeta()
func (MetaHolder) GetMeta ¶
func (m MetaHolder) GetMeta() Map
type MethodCallData ¶
type MethodCallData struct {
Method string
}
type MethodExpr ¶
type MethodExpr struct { Position // contains filtered or unexported fields }
func (*MethodExpr) Dump ¶
func (expr *MethodExpr) Dump(pos bool) Map
type MethodSite ¶
type NSBuilder ¶
type NSBuilder struct {
// contains filtered or unexported fields
}
func NewNSBuilder ¶
func (*NSBuilder) DefType ¶
func (b *NSBuilder) DefType(i *DefTypeInfo) *NSBuilder
func (*NSBuilder) DefVar ¶
func (b *NSBuilder) DefVar(i *DefVarInfo) *NSBuilder
type NamedPair ¶
func MakeNamedPair ¶
func (*NamedPair) WithInfo ¶
func (p *NamedPair) WithInfo(info *ObjectInfo) any
type Namespace ¶
type Namespace struct { MetaHolder Name Symbol Lazy func(env *Env, ns *Namespace) // contains filtered or unexported fields }
A namespace is a named collection and the foundation of clojure/lace. A namespace holds vars and functions run in the context of a namespace.
func SetupPkgReflect ¶
func (*Namespace) AliasNames ¶
func (*Namespace) GetInfo ¶
func (ns *Namespace) GetInfo() *ObjectInfo
func (*Namespace) MappingsAsMap ¶
func (*Namespace) WithInfo ¶
func (ns *Namespace) WithInfo(info *ObjectInfo) any
type NativeSetup ¶
type Nil ¶
type Nil interface { any Conjable Counted Gettable Associative HasInfo Seq Map // contains filtered or unexported methods }
The nothing type.
type NilImpl ¶
type NilImpl struct { AssocFn func(*Env, any, any) (Associative, error) ConjFn func(*Env, any) (Conjable, error) ConsFn func(any) Seq CountFn func() int EntryAtFn func(*Env, any) (*Vector, error) FirstFn func(*Env) (any, error) GetFn func(*Env, any) (bool, any, error) GetEquFn func(Equ) (bool, any) GetInfoFn func() *ObjectInfo IsEmptyFn func(*Env) (bool, error) IterFn func() MapIterator KeysFn func() Seq MergeFn func(*Env, Map) (Map, error) RestFn func(*Env) (Seq, error) SeqFn func() Seq ValsFn func() Seq WithInfoFn func(*ObjectInfo) any WithoutFn func(*Env, any) (Map, error) // contains filtered or unexported fields }
func (*NilImpl) GetInfo ¶
func (s *NilImpl) GetInfo() *ObjectInfo
func (*NilImpl) Iter ¶
func (s *NilImpl) Iter() MapIterator
func (*NilImpl) WithInfo ¶
func (s *NilImpl) WithInfo(a0 *ObjectInfo) any
type NodeIterator ¶
type NodeIterator struct {
// contains filtered or unexported fields
}
func (*NodeIterator) HasNext ¶
func (iter *NodeIterator) HasNext() bool
func (*NodeIterator) Next ¶
func (iter *NodeIterator) Next() *Pair
type NodeSeq ¶
type NodeSeq struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func (*NodeSeq) WithInfo ¶
func (x *NodeSeq) WithInfo(info *ObjectInfo) any
type Number ¶
type Number interface { any Int() Int Double() Double BigInt() *big.Int BigFloat() *big.Float Ratio() *big.Rat NativeNumber() any }
A number is any kind of sequence of numerals. This includes normal, integers of any size, floating point values of any size, as well as ratios (like 1/3).
type NumberImpl ¶
type NumberImpl struct { BigFloatFn func() *big.Float BigIntFn func() *big.Int DoubleFn func() Double IntFn func() Int NativeNumberFn func() any RatioFn func() *big.Rat }
func (*NumberImpl) BigFloat ¶
func (s *NumberImpl) BigFloat() *big.Float
func (*NumberImpl) BigInt ¶
func (s *NumberImpl) BigInt() *big.Int
func (*NumberImpl) Double ¶
func (s *NumberImpl) Double() Double
func (*NumberImpl) Int ¶
func (s *NumberImpl) Int() Int
func (*NumberImpl) NativeNumber ¶
func (s *NumberImpl) NativeNumber() any
func (*NumberImpl) Ratio ¶
func (s *NumberImpl) Ratio() *big.Rat
type ObjectInfo ¶
type ObjectInfo struct {
Position
}
implementations
func GetInfo ¶
func GetInfo(obj any) *ObjectInfo
type OpCode ¶
type OpCode byte
const ( Noop OpCode = iota Pop Dup Jump JumpIfTrue JumpIfFalse ResolveVar SetMacro GetBinding GetUpval SetUpval PushLiteral MakeVector MakeSmallMap MakeLargeMap MakeSet DefValue DefValue3 Def Def3 SetMeta Call Apply MethodCall Throw PushHandler PopHandler CheckType SetLocal GetLocal Return CheckArityFixed CheckArityMin ThrowArity MakeFn RefUpval PushSelfFn PushNil PushInt SetLabel // only used during bytecode generation SetLine // only used during bytecode generation SetFile // only used during bytecode generation )
type Ops ¶
type Ops interface { Combine(ops Ops) Ops Add(Number, Number) (Number, error) Subtract(Number, Number) (Number, error) Multiply(Number, Number) (Number, error) Divide(Number, Number) (Number, error) IsZero(Number) bool Lt(Number, Number) bool Lte(Number, Number) bool Gt(Number, Number) bool Gte(Number, Number) bool Eq(Number, Number) bool Quotient(Number, Number) (Number, error) Rem(Number, Number) (Number, error) }
type OutConvError ¶
type OutConvError string
func (OutConvError) Error ¶
func (s OutConvError) Error() string
type ParseContext ¶
type ParseContext struct { Env *Env // contains filtered or unexported fields }
func (*ParseContext) GetLocalBinding ¶
func (ctx *ParseContext) GetLocalBinding(sym Symbol) *Binding
func (*ParseContext) GetLoopBindings ¶
func (ctx *ParseContext) GetLoopBindings() []Symbol
func (*ParseContext) PopLocalFrame ¶
func (ctx *ParseContext) PopLocalFrame()
func (*ParseContext) PopLoopBindings ¶
func (ctx *ParseContext) PopLoopBindings()
func (*ParseContext) PushEmptyLocalFrame ¶
func (ctx *ParseContext) PushEmptyLocalFrame()
func (*ParseContext) PushLocalFrame ¶
func (ctx *ParseContext) PushLocalFrame(names []Symbol)
func (*ParseContext) PushLoopBindings ¶
func (ctx *ParseContext) PushLoopBindings(bindings []Symbol)
type ParseError ¶
type ParseError struct {
// contains filtered or unexported fields
}
func (*ParseError) Equals ¶
func (err *ParseError) Equals(env *Env, other interface{}) bool
func (ParseError) Error ¶
func (err ParseError) Error() string
func (*ParseError) GetInfo ¶
func (err *ParseError) GetInfo() *ObjectInfo
func (*ParseError) Message ¶
func (err *ParseError) Message() any
func (*ParseError) ToString ¶
func (err *ParseError) ToString(env *Env, escape bool) (string, error)
func (*ParseError) WithInfo ¶
func (err *ParseError) WithInfo(info *ObjectInfo) any
type Pending ¶
type Pending interface {
IsRealized() bool
}
When a value can report if it has a pending operation.
type PendingImpl ¶
type PendingImpl struct {
IsRealizedFn func() bool
}
func (*PendingImpl) IsRealized ¶
func (s *PendingImpl) IsRealized() bool
type Position ¶
type Position struct {
// contains filtered or unexported fields
}
implementations
func GetPosition ¶
type Proc ¶
type Proc struct { Fn ProcFn Name string Package string // "" for core (this package), else e.g. "std/string" File string Line int }
func (Proc) GetInfo ¶
func (p Proc) GetInfo() *ObjectInfo
func (Proc) WithInfo ¶
func (p Proc) WithInfo(*ObjectInfo) any
type Ratio ¶
type Ratio struct { InfoHolder // contains filtered or unexported fields }
A value that presents the division of two integers.
func (*Ratio) NativeNumber ¶
func (*Ratio) WithInfo ¶
func (x *Ratio) WithInfo(info *ObjectInfo) any
type ReadError ¶
type ReadError struct {
// contains filtered or unexported fields
}
func MakeReadError ¶
type ReadObject ¶
type ReadObject interface { HasInfo }
type Reader ¶
type Reader struct {
// contains filtered or unexported fields
}
func NewReaderFromFile ¶
type RecurBindings ¶
type RecurBindings []any
implementations
func (RecurBindings) Equals ¶
func (rb RecurBindings) Equals(env *Env, other interface{}) bool
func (RecurBindings) GetInfo ¶
func (rb RecurBindings) GetInfo() *ObjectInfo
func (RecurBindings) ToString ¶
func (rb RecurBindings) ToString(env *Env, escape bool) (string, error)
func (RecurBindings) WithInfo ¶
func (x RecurBindings) WithInfo(info *ObjectInfo) any
type Regex ¶
type Regex struct { InfoHolder R *regexp.Regexp }
A value that contains a pre-compiled regular expression.
func (*Regex) WithInfo ¶
func (x *Regex) WithInfo(info *ObjectInfo) any
type ReplContext ¶
type ReplContext struct {
// contains filtered or unexported fields
}
func NewReplContext ¶
func NewReplContext(env *Env) *ReplContext
func (*ReplContext) PushException ¶
func (ctx *ReplContext) PushException(exc any)
func (*ReplContext) PushValue ¶
func (ctx *ReplContext) PushValue(obj any)
type Reversible ¶
type Reversible interface {
Rseq() Seq
}
When a collection can return a sequence that returns values in reverse order.
func AssertReversible ¶
func AssertReversible(env *Env, obj any, msg string) (Reversible, error)
func EnsureReversible ¶
func EnsureReversible(env *Env, args []any, index int) (Reversible, error)
type ReversibleImpl ¶
type ReversibleImpl struct {
RseqFn func() Seq
}
func (*ReversibleImpl) Rseq ¶
func (s *ReversibleImpl) Rseq() Seq
type RuneWindow ¶
type RuneWindow struct {
// contains filtered or unexported fields
}
type Seq ¶
type Seq interface { Seqable any First(env *Env) (any, error) Rest(env *Env) (Seq, error) IsEmpty(env *Env) (bool, error) Cons(obj any) Seq }
The Seq interface, provides a sequence of values.
type SeqImpl ¶
type SeqIterator ¶
type SeqIterator struct {
// contains filtered or unexported fields
}
func (*SeqIterator) HasNext ¶
func (iter *SeqIterator) HasNext(env *Env) bool
type SeqableImpl ¶
type SeqableImpl struct {
SeqFn func() Seq
}
func (*SeqableImpl) Seq ¶
func (s *SeqableImpl) Seq() Seq
type Sequential ¶
type Sequential interface {
// contains filtered or unexported methods
}
When a value is sequential.
type SequentialImpl ¶
type SequentialImpl struct {
// contains filtered or unexported fields
}
type Set ¶
type Set interface { Conjable Gettable Has(key Equ) bool Disjoin(env *Env, key any) (Set, error) SetIter() SetIter }
A collection that can store unique values.
type SetImpl ¶
type SetMacroExpr ¶
type SetMacroExpr struct { Position // contains filtered or unexported fields }
func (*SetMacroExpr) Dump ¶
func (expr *SetMacroExpr) Dump(pos bool) Map
type SortableSlice ¶
type SortableSlice struct {
// contains filtered or unexported fields
}
implementations
func (*SortableSlice) Len ¶
func (s *SortableSlice) Len() int
func (*SortableSlice) Less ¶
func (s *SortableSlice) Less(i, j int) bool
func (*SortableSlice) Swap ¶
func (s *SortableSlice) Swap(i, j int)
type StringImpl ¶
type StringImpl struct { AppendToFn func(String) String CountFn func() int NthFn func(*Env, int) (any, error) SFn func() string SeqFn func() Seq TryNthFn func(*Env, int, any) (any, error) }
func (*StringImpl) AppendTo ¶
func (s *StringImpl) AppendTo(a0 String) String
func (*StringImpl) Count ¶
func (s *StringImpl) Count() int
func (*StringImpl) S ¶
func (s *StringImpl) S() string
func (*StringImpl) Seq ¶
func (s *StringImpl) Seq() Seq
type StringReader ¶
func AssertStringReader ¶
func AssertStringReader(env *Env, obj any, msg string) (StringReader, error)
func EnsureStringReader ¶
func EnsureStringReader(env *Env, args []any, index int) (StringReader, error)
type StructMap ¶
type StructMap struct {
// contains filtered or unexported fields
}
func (StructMap) Iter ¶
func (r StructMap) Iter() MapIterator
type Symbol ¶
type Symbol interface { Equ Meta Comparable Name() string Namespace() string String() string // contains filtered or unexported methods }
A value that represents a value stored elsewhere by name, such as in a namespace or a local variable.
func AssembleSymbol ¶
func ExtractTagFromMeta ¶
func MakeSymbol ¶
func MakeSymbolWithMeta ¶
func MakeTaggedSymbol ¶
func SymbolSetInfo ¶
func SymbolSetInfo(sym Symbol, info *ObjectInfo) Symbol
type SymbolImpl ¶
type SymbolImpl struct { CompareFn func(*Env, any) (int, error) GetMetaFn func() Map IsFn func(any) bool IsHashFn func() uint32 NameFn func() string NamespaceFn func() string StringFn func() string WithMetaFn func(*Env, Map) (any, error) // contains filtered or unexported fields }
func (*SymbolImpl) GetMeta ¶
func (s *SymbolImpl) GetMeta() Map
func (*SymbolImpl) Is ¶
func (s *SymbolImpl) Is(a0 any) bool
func (*SymbolImpl) IsHash ¶
func (s *SymbolImpl) IsHash() uint32
func (*SymbolImpl) Name ¶
func (s *SymbolImpl) Name() string
func (*SymbolImpl) Namespace ¶
func (s *SymbolImpl) Namespace() string
func (*SymbolImpl) String ¶
func (s *SymbolImpl) String() string
type Time ¶
type Time struct { InfoHolder T time.Time }
A value that represents a point in time.
func (Time) WithInfo ¶
func (x Time) WithInfo(info *ObjectInfo) any
type TinyChar ¶
type TinyChar rune
func (TinyChar) WithInfo ¶
func (x TinyChar) WithInfo(info *ObjectInfo) any
type TinyKeyword ¶
type TinyKeyword string
func (TinyKeyword) Equals ¶
func (k TinyKeyword) Equals(env *Env, other interface{}) bool
func (TinyKeyword) GetInfo ¶
func (TinyKeyword) GetInfo() *ObjectInfo
func (TinyKeyword) Is ¶
func (k TinyKeyword) Is(other any) bool
func (TinyKeyword) IsHash ¶
func (k TinyKeyword) IsHash() uint32
func (TinyKeyword) Name ¶
func (k TinyKeyword) Name() string
func (TinyKeyword) Namespace ¶
func (k TinyKeyword) Namespace() string
func (TinyKeyword) RawString ¶
func (k TinyKeyword) RawString() string
func (TinyKeyword) String ¶
func (k TinyKeyword) String() string
func (TinyKeyword) WithInfo ¶
func (k TinyKeyword) WithInfo(info *ObjectInfo) any
type TinyNil ¶
type TinyNil struct{}
func (TinyNil) GetInfo ¶
func (x TinyNil) GetInfo() *ObjectInfo
func (TinyNil) Iter ¶
func (n TinyNil) Iter() MapIterator
func (TinyNil) WithInfo ¶
func (x TinyNil) WithInfo(info *ObjectInfo) any
type TinySymbol ¶
type TinySymbol string
func (TinySymbol) Equals ¶
func (s TinySymbol) Equals(env *Env, other interface{}) bool
func (TinySymbol) GetInfo ¶
func (sym TinySymbol) GetInfo() *ObjectInfo
func (TinySymbol) GetMeta ¶
func (sym TinySymbol) GetMeta() Map
func (TinySymbol) Is ¶
func (s TinySymbol) Is(other any) bool
func (TinySymbol) IsHash ¶
func (s TinySymbol) IsHash() uint32
func (TinySymbol) Name ¶
func (s TinySymbol) Name() string
func (TinySymbol) Namespace ¶
func (s TinySymbol) Namespace() string
func (TinySymbol) String ¶
func (s TinySymbol) String() string
func (TinySymbol) WithInfo ¶
func (sym TinySymbol) WithInfo(info *ObjectInfo) any
type Type ¶
type Type struct {
// contains filtered or unexported fields
}
A value that describes a set of values.
func (Type) ReflectType ¶
type VMStacktrace ¶
type VMStacktrace struct { StackTrace any // contains filtered or unexported fields }
func (*VMStacktrace) Error ¶
func (v *VMStacktrace) Error() string
func (*VMStacktrace) Is ¶
func (v *VMStacktrace) Is(other error) bool
func (*VMStacktrace) Unwrap ¶
func (v *VMStacktrace) Unwrap() error
type Var ¶
type Var struct { InfoHolder MetaHolder // contains filtered or unexported fields }
A value that holds another value and can be changed. Ie, a Var is a variable.
func (*Var) WithInfo ¶
func (x *Var) WithInfo(info *ObjectInfo) any
type VarRefExpr ¶
type VarRefExpr struct { Position // contains filtered or unexported fields }
func MakeVarRefExpr ¶
func MakeVarRefExpr(vr *Var, obj any) *VarRefExpr
func (*VarRefExpr) Dump ¶
func (expr *VarRefExpr) Dump(pos bool) Map
type Vector ¶
type Vector struct { InfoHolder MetaHolder // contains filtered or unexported fields }
A collection that stores it's values at fixed integer offsets efficiently.
func EmptyVector ¶
func EmptyVector() *Vector
func EmptyVectorWithMeta ¶
func MakeStringVector ¶
func NewVectorFrom ¶
func (*Vector) Empty ¶
func (v *Vector) Empty() Collection
func (*Vector) WithInfo ¶
func (x *Vector) WithInfo(info *ObjectInfo) any
type VectorExpr ¶
type VectorExpr struct { Position // contains filtered or unexported fields }
func (*VectorExpr) Dump ¶
func (expr *VectorExpr) Dump(pos bool) Map
type VectorRSeq ¶
type VectorRSeq struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func (*VectorRSeq) Cons ¶
func (vseq *VectorRSeq) Cons(obj any) Seq
func (*VectorRSeq) Equals ¶
func (vseq *VectorRSeq) Equals(env *Env, other interface{}) bool
func (*VectorRSeq) Seq ¶
func (seq *VectorRSeq) Seq() Seq
func (*VectorRSeq) ToString ¶
func (vseq *VectorRSeq) ToString(env *Env, escape bool) (string, error)
func (*VectorRSeq) WithInfo ¶
func (x *VectorRSeq) WithInfo(info *ObjectInfo) any
type VectorSeq ¶
type VectorSeq struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func (*VectorSeq) WithInfo ¶
func (x *VectorSeq) WithInfo(info *ObjectInfo) any
Source Files ¶
- a_better_cond_data.go
- a_core_data.go
- a_data.go
- a_hiccup_data.go
- a_pprint_data.go
- a_reflect_data.go
- a_repl_data.go
- a_set_data.go
- a_template_data.go
- a_test_data.go
- a_time_data.go
- a_tools_cli_data.go
- a_walk_data.go
- array_map.go
- binding.go
- buffer.go
- buffered_reader.go
- builtin_ns.go
- cast.go
- channel.go
- char.go
- common.go
- core.go
- data.go
- deps.go
- environment.go
- environment_init.go
- error.go
- eval.go
- expr.go
- file.go
- file_process.go
- fn.go
- future.go
- hash.go
- hash_map.go
- host.go
- info.go
- int.go
- io_reader.go
- io_writer.go
- keyword.go
- lang.go
- line_runereader.go
- list.go
- map.go
- native_ns.go
- nil.go
- ns.go
- numbers.go
- object.go
- object_init.go
- opaque.go
- opcode_string.go
- pair.go
- parse.go
- parse_init.go
- proc.go
- procs.go
- procs_init.go
- read.go
- reader.go
- reflect.go
- reflect_conv.go
- reflect_struct.go
- reflect_wrap.go
- repl.go
- rune_window.go
- seq.go
- set.go
- spew_disabled.go
- string.go
- stringable.go
- symbol.go
- type.go
- types_assert_gen.go
- types_info_gen.go
- var.go
- vector.go
- vm.go
- vm_bc.go
- vm_code.go
- vm_var.go