Documentation ¶
Index ¶
- Constants
- Variables
- func AreCountedIndexedEqual(v1, v2 CountedIndexed) bool
- func CheckArity(args []Object, min int, max int)
- func CompareNumbers(x Number, y Number) int
- func CountedIndexedCompare(v1, v2 CountedIndexed) int
- func CountedIndexedFormat(v CountedIndexed, w io.Writer, indent int) int
- func CountedIndexedHash(v CountedIndexed) uint32
- func CountedIndexedPprint(v CountedIndexed, w io.Writer, indent int) int
- func CountedIndexedToString(v CountedIndexed, escape bool) string
- func EnableIdentValidation()
- func EnsureArgIsio_Reader(args []Object, index int) io.Reader
- func EnsureArgIsio_RuneReader(args []Object, index int) io.RuneReader
- func EnsureArgIsio_Writer(args []Object, index int) io.Writer
- func EnsureObjectIsInts(args []Object) (Int, Int)
- func EnsureObjectIsio_Reader(obj Object, pattern string) io.Reader
- func EnsureObjectIsio_RuneReader(obj Object, pattern string) io.RuneReader
- func EnsureObjectIsio_Writer(obj Object, pattern string) io.Writer
- func ExitJoker(rc int)
- func ExtractBigFloat(args []Object, index int) *big.Float
- func ExtractBigInt(args []Object, index int) *big.Int
- func ExtractBoolean(args []Object, index int) bool
- func ExtractChar(args []Object, index int) rune
- func ExtractDouble(args []Object, index int) float64
- func ExtractIOReader(args []Object, index int) io.Reader
- func ExtractIOWriter(args []Object, index int) io.Writer
- func ExtractInt(args []Object, index int) int
- func ExtractInteger(args []Object, index int) int
- func ExtractKeyword(args []Object, index int) string
- func ExtractRegex(args []Object, index int) *regexp.Regexp
- func ExtractString(args []Object, index int) string
- func ExtractStringable(args []Object, index int) string
- func ExtractStrings(args []Object, index int) []string
- func ExtractTime(args []Object, index int) time.Time
- func HashPtr(ptr uintptr) uint32
- func HomeDir() string
- func IsEqualOrImplements(abstractType *Type, concreteType *Type) bool
- func IsInstance(t *Type, obj Object) bool
- func IsKeyword(obj Object) bool
- func IsSeq(obj Object) bool
- func IsSeqEqual(seq Seq, other interface{}) bool
- func IsSpecialSymbol(obj Object) bool
- func IsSymbol(obj Object) bool
- func IsVector(obj Object) bool
- func MakeMathBigIntFromInt(i int) *big.Int
- func MakeMathBigIntFromInt64(i int64) *big.Int
- func MakeMathBigIntFromUint(b uint) *big.Int
- func MakeMathBigIntFromUint64(b uint64) *big.Int
- func OnExit(f func())
- func PackExprOrNull(expr Expr, p []byte, env *PackEnv) []byte
- func PackObjectOrNull(obj Object, p []byte, env *PackEnv) []byte
- func PackReader(reader *Reader, filename string) ([]byte, error)
- func PanicArity(n int)
- func PanicArityMinMax(n, min, max int)
- func PanicOnErr(err error)
- func PrintObject(obj Object, w io.Writer)
- func ProcessCoreData()
- func ProcessLinterData(dialect Dialect)
- func ProcessLinterFile(configDir string, filename string)
- func ProcessLinterFiles(dialect Dialect, filename string, workingDir string)
- func ProcessReader(reader *Reader, filename string, phase Phase) error
- func ProcessReaderFromEval(reader *Reader, filename string)
- func ProcessReplData()
- func ReadConfig(filename string, workingDir string)
- func RemoveJokerNamespaces()
- func ResetUsage()
- func SeqCount(seq Seq) int
- func SeqToString(seq Seq, escape bool) string
- func SeqsEqual(seq1, seq2 Seq) bool
- func SetIdentRangeASCII()
- func SetIdentRangeAny()
- func SetIdentRangeUnicode()
- func SetIdentSetAny()
- func SetIdentSetCore()
- func SetIdentSetSymbol()
- func SetIdentSetVisible()
- func ToBool(obj Object) bool
- func ToNative(obj Object) interface{}
- func WarnOnGloballyUnusedNamespaces()
- func WarnOnGloballyUnusedVars()
- func WarnOnUnusedNamespaces()
- func WarnOnUnusedVars()
- type ArrayMap
- func (m *ArrayMap) Add(key Object, value Object) bool
- func (m *ArrayMap) Assoc(key Object, value Object) Associative
- func (m *ArrayMap) Call(args []Object) Object
- func (m *ArrayMap) Clone() *ArrayMap
- func (m *ArrayMap) Conj(obj Object) Conjable
- func (m *ArrayMap) Count() int
- func (m *ArrayMap) Empty() Collection
- func (m *ArrayMap) EntryAt(key Object) *ArrayVector
- func (m *ArrayMap) Equals(other interface{}) bool
- func (m *ArrayMap) Format(w io.Writer, indent int) int
- func (m *ArrayMap) Get(key Object) (bool, Object)
- func (m *ArrayMap) GetType() *Type
- func (m *ArrayMap) Hash() uint32
- func (m *ArrayMap) Iter() MapIterator
- func (m *ArrayMap) Keys() Seq
- func (m *ArrayMap) Merge(other Map) Map
- func (m *ArrayMap) Plus(key Object, value Object) *ArrayMap
- func (m *ArrayMap) Pprint(w io.Writer, indent int) int
- func (m *ArrayMap) Seq() Seq
- func (m *ArrayMap) Set(key Object, value Object)
- func (m *ArrayMap) ToString(escape bool) string
- func (m *ArrayMap) Vals() Seq
- func (x *ArrayMap) WithInfo(info *ObjectInfo) Object
- func (v *ArrayMap) WithMeta(meta Map) Object
- func (m *ArrayMap) Without(key Object) Map
- type ArrayMapIterator
- type ArrayMapSeq
- func (seq *ArrayMapSeq) Cons(obj Object) Seq
- func (seq *ArrayMapSeq) Equals(other interface{}) bool
- func (seq *ArrayMapSeq) First() Object
- func (seq *ArrayMapSeq) Format(w io.Writer, indent int) int
- func (seq *ArrayMapSeq) GetType() *Type
- func (seq *ArrayMapSeq) Hash() uint32
- func (seq *ArrayMapSeq) IsEmpty() bool
- func (seq *ArrayMapSeq) Pprint(w io.Writer, indent int) int
- func (seq *ArrayMapSeq) Rest() Seq
- func (seq *ArrayMapSeq) Seq() Seq
- func (seq *ArrayMapSeq) ToString(escape bool) string
- func (x *ArrayMapSeq) WithInfo(info *ObjectInfo) Object
- func (seq *ArrayMapSeq) WithMeta(meta Map) Object
- type ArrayNode
- type ArrayNodeIterator
- type ArrayNodeSeq
- func (s *ArrayNodeSeq) Cons(obj Object) Seq
- func (s *ArrayNodeSeq) Equals(other interface{}) bool
- func (s *ArrayNodeSeq) First() Object
- func (seq *ArrayNodeSeq) Format(w io.Writer, indent int) int
- func (s *ArrayNodeSeq) GetType() *Type
- func (s *ArrayNodeSeq) Hash() uint32
- func (s *ArrayNodeSeq) IsEmpty() bool
- func (seq *ArrayNodeSeq) Pprint(w io.Writer, indent int) int
- func (s *ArrayNodeSeq) Rest() Seq
- func (s *ArrayNodeSeq) Seq() Seq
- func (s *ArrayNodeSeq) ToString(escape bool) string
- func (x *ArrayNodeSeq) WithInfo(info *ObjectInfo) Object
- func (s *ArrayNodeSeq) WithMeta(meta Map) Object
- type ArraySeq
- func (seq *ArraySeq) Cons(obj Object) Seq
- func (seq *ArraySeq) Equals(other interface{}) bool
- func (seq *ArraySeq) First() Object
- func (seq *ArraySeq) Format(w io.Writer, indent int) int
- func (seq *ArraySeq) GetType() *Type
- func (seq *ArraySeq) Hash() uint32
- func (seq *ArraySeq) IsEmpty() bool
- func (seq *ArraySeq) Pprint(w io.Writer, indent int) int
- func (seq *ArraySeq) Rest() Seq
- func (seq *ArraySeq) Seq() Seq
- func (seq *ArraySeq) ToString(escape bool) string
- func (x *ArraySeq) WithInfo(info *ObjectInfo) Object
- func (seq *ArraySeq) WithMeta(meta Map) Object
- type ArrayVector
- func (v *ArrayVector) Append(obj Object)
- func (v *ArrayVector) Assoc(key, val Object) Associative
- func (v *ArrayVector) At(i int) Object
- func (v *ArrayVector) Call(args []Object) Object
- func (v *ArrayVector) Clone() *ArrayVector
- func (v *ArrayVector) Compare(other Object) int
- func (v *ArrayVector) Conj(obj Object) Conjable
- func (v *ArrayVector) Conjoin(obj Object) Vec
- func (v *ArrayVector) Count() int
- func (v *ArrayVector) Empty() Collection
- func (v *ArrayVector) EntryAt(key Object) *ArrayVector
- func (v *ArrayVector) Equals(other interface{}) bool
- func (v *ArrayVector) Format(w io.Writer, indent int) int
- func (v *ArrayVector) Get(key Object) (bool, Object)
- func (v *ArrayVector) GetType() *Type
- func (v *ArrayVector) Hash() uint32
- func (v *ArrayVector) Nth(i int) Object
- func (v *ArrayVector) Peek() Object
- func (v *ArrayVector) Pop() Stack
- func (v *ArrayVector) Pprint(w io.Writer, indent int) int
- func (v *ArrayVector) Rseq() Seq
- func (v *ArrayVector) Seq() Seq
- func (v *ArrayVector) ToString(escape bool) string
- func (v *ArrayVector) TryNth(i int, d Object) Object
- func (x *ArrayVector) WithInfo(info *ObjectInfo) Object
- func (v *ArrayVector) WithMeta(meta Map) Object
- type Associative
- type Atom
- func (a *Atom) AlterMeta(fn *Fn, args []Object) Map
- func (a *Atom) Deref() Object
- func (a *Atom) Equals(other interface{}) bool
- func (a *Atom) GetInfo() *ObjectInfo
- func (a *Atom) GetType() *Type
- func (a *Atom) Hash() uint32
- func (a *Atom) ResetMeta(newMeta Map) Map
- func (a *Atom) ToString(escape bool) string
- func (a *Atom) WithInfo(info *ObjectInfo) Object
- func (a *Atom) WithMeta(meta Map) Object
- type BigFloat
- func (b *BigFloat) BigFloat() *big.Float
- func (b *BigFloat) BigInt() *big.Int
- func (bf *BigFloat) Compare(other Object) int
- func (b *BigFloat) Double() Double
- func (bf *BigFloat) Equals(other interface{}) bool
- func (bf *BigFloat) GetType() *Type
- func (bf *BigFloat) Hash() uint32
- func (b *BigFloat) Int() Int
- func (n *BigFloat) Precision() *big.Int
- func (b *BigFloat) Ratio() *big.Rat
- func (bf *BigFloat) ToString(escape bool) string
- func (x *BigFloat) WithInfo(info *ObjectInfo) Object
- type BigFloatOps
- func (ops BigFloatOps) Add(x, y Number) Number
- func (ops BigFloatOps) Combine(other Ops) Ops
- func (ops BigFloatOps) Divide(x, y Number) Number
- 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
- func (ops BigFloatOps) Quotient(x, y Number) Number
- func (ops BigFloatOps) Rem(x, y Number) Number
- func (ops BigFloatOps) Subtract(x, y Number) Number
- type BigInt
- func (b *BigInt) BigFloat() *big.Float
- func (b *BigInt) BigInt() *big.Int
- func (bi *BigInt) Compare(other Object) int
- func (b *BigInt) Double() Double
- func (bi *BigInt) Equals(other interface{}) bool
- func (bi *BigInt) GetType() *Type
- func (bi *BigInt) Hash() uint32
- func (b *BigInt) Int() Int
- func (n *BigInt) Precision() *big.Int
- func (b *BigInt) Ratio() *big.Rat
- func (bi *BigInt) ToString(escape bool) string
- func (x *BigInt) WithInfo(info *ObjectInfo) Object
- type BigIntOps
- func (ops BigIntOps) Add(x, y Number) Number
- func (ops BigIntOps) Combine(other Ops) Ops
- func (ops BigIntOps) Divide(x, y Number) Number
- 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
- func (ops BigIntOps) Quotient(x, y Number) Number
- func (ops BigIntOps) Rem(x, y Number) Number
- func (ops BigIntOps) Subtract(x, y Number) Number
- type Binding
- type BindingExpr
- type Bindings
- type BitmapIndexedNode
- type Boolean
- type Box
- type Buffer
- type BufferedReader
- func (br *BufferedReader) Equals(other interface{}) bool
- func (br *BufferedReader) GetInfo() *ObjectInfo
- func (br *BufferedReader) GetType() *Type
- func (br *BufferedReader) Hash() uint32
- func (br *BufferedReader) ToString(escape bool) string
- func (br *BufferedReader) WithInfo(info *ObjectInfo) Object
- type BySymbolName
- type CallExpr
- type Callable
- type Callstack
- type CatchExpr
- type Channel
- type Char
- type Collection
- type Comment
- type Comparable
- type Comparator
- type Conjable
- type ConsSeq
- func (seq *ConsSeq) Cons(obj Object) Seq
- func (seq *ConsSeq) Equals(other interface{}) bool
- func (seq *ConsSeq) First() Object
- func (seq *ConsSeq) Format(w io.Writer, indent int) int
- func (seq *ConsSeq) GetType() *Type
- func (seq *ConsSeq) Hash() uint32
- func (seq *ConsSeq) IsEmpty() bool
- func (seq *ConsSeq) Pprint(w io.Writer, indent int) int
- func (seq *ConsSeq) Rest() Seq
- func (seq *ConsSeq) Seq() Seq
- func (seq *ConsSeq) ToString(escape bool) string
- func (x *ConsSeq) WithInfo(info *ObjectInfo) Object
- func (seq *ConsSeq) WithMeta(meta Map) Object
- type Counted
- type CountedIndexed
- type DefExpr
- type Delay
- func (d *Delay) Deref() Object
- func (d *Delay) Equals(other interface{}) bool
- func (d *Delay) Force() Object
- func (d *Delay) GetInfo() *ObjectInfo
- func (d *Delay) GetType() *Type
- func (d *Delay) Hash() uint32
- func (d *Delay) IsRealized() bool
- func (d *Delay) ToString(escape bool) string
- func (d *Delay) WithInfo(info *ObjectInfo) Object
- type Deref
- type Dialect
- type DoExpr
- type Double
- func (d Double) BigFloat() *big.Float
- func (d Double) BigInt() *big.Int
- func (d Double) Compare(other Object) int
- func (d Double) Double() Double
- func (d Double) Equals(other interface{}) bool
- func (d Double) GetType() *Type
- func (d Double) Hash() uint32
- func (d Double) Int() Int
- func (d Double) Native() interface{}
- func (n Double) Precision() *big.Int
- func (d Double) Ratio() *big.Rat
- func (d Double) ToString(escape bool) string
- func (x Double) WithInfo(info *ObjectInfo) Object
- type DoubleOps
- func (ops DoubleOps) Add(x, y Number) Number
- func (ops DoubleOps) Combine(other Ops) Ops
- func (ops DoubleOps) Divide(x, y Number) Number
- 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
- func (ops DoubleOps) Quotient(x, y Number) Number
- func (ops DoubleOps) Rem(x, y Number) Number
- func (ops DoubleOps) Subtract(x, y Number) Number
- type EmptyMapIterator
- type Env
- func (env *Env) CurrentNamespace() *Namespace
- func (env *Env) EnsureSymbolIsLib(sym Symbol) *Namespace
- func (env *Env) EnsureSymbolIsNamespace(sym Symbol) *Namespace
- func (env *Env) FindNamespace(s Symbol) *Namespace
- func (env *Env) InitEnv(stdin io.Reader, stdout, stderr io.Writer, args []string)
- func (env *Env) IsStdIn(obj Object) bool
- func (env *Env) NamespaceFor(ns *Namespace, s Symbol) *Namespace
- func (env *Env) ReferCoreToUser()
- 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
- func (env *Env) SetClassPath(cp string)
- func (env *Env) SetCurrentNamespace(ns *Namespace)
- func (env *Env) SetEnvArgs(newArgs []string)
- func (env *Env) SetFilename(obj Object)
- func (env *Env) SetMainFilename(filename string)
- func (env *Env) SetStdIO(stdin, stdout, stderr Object)
- func (env *Env) StdIO() (stdin, stdout, stderr Object)
- type Equality
- type Error
- type EvalError
- func (err *EvalError) Equals(other interface{}) bool
- func (err *EvalError) Error() string
- func (err *EvalError) GetInfo() *ObjectInfo
- func (err *EvalError) GetType() *Type
- func (err *EvalError) Hash() uint32
- func (err *EvalError) Message() Object
- func (err *EvalError) ToString(escape bool) string
- func (err *EvalError) WithInfo(info *ObjectInfo) Object
- type ExInfo
- func (exInfo *ExInfo) Equals(other interface{}) bool
- func (exInfo *ExInfo) Error() string
- func (exInfo *ExInfo) GetType() *Type
- func (exInfo *ExInfo) Hash() uint32
- func (exInfo *ExInfo) Message() Object
- func (exInfo *ExInfo) ToString(escape bool) string
- func (x *ExInfo) WithInfo(info *ObjectInfo) Object
- type Expr
- type File
- type Fn
- func (fn *Fn) Call(args []Object) Object
- func (fn *Fn) Compare(a, b Object) int
- func (fn *Fn) Equals(other interface{}) bool
- func (fn *Fn) GetType() *Type
- func (fn *Fn) Hash() uint32
- func (fn *Fn) ToString(escape bool) string
- func (x *Fn) WithInfo(info *ObjectInfo) Object
- func (fn *Fn) WithMeta(meta Map) Object
- type FnArityExpr
- type FnExpr
- type Formatter
- type Frame
- type FutureResult
- type Gettable
- type HashCollisionNode
- type HashMap
- func (m *HashMap) Assoc(key, val Object) Associative
- func (m *HashMap) Call(args []Object) Object
- func (m *HashMap) Conj(obj Object) Conjable
- func (m *HashMap) Count() int
- func (m *HashMap) Empty() Collection
- func (m *HashMap) EntryAt(key Object) *ArrayVector
- func (m *HashMap) Equals(other interface{}) bool
- func (m *HashMap) Get(key Object) (bool, Object)
- func (m *HashMap) GetType() *Type
- func (m *HashMap) Hash() uint32
- func (m *HashMap) Iter() MapIterator
- func (m *HashMap) Keys() Seq
- func (m *HashMap) Merge(other Map) Map
- func (m *HashMap) Pprint(w io.Writer, indent int) int
- func (m *HashMap) Seq() Seq
- func (m *HashMap) ToString(escape bool) string
- func (m *HashMap) Vals() Seq
- func (x *HashMap) WithInfo(info *ObjectInfo) Object
- func (m *HashMap) WithMeta(meta Map) Object
- func (m *HashMap) Without(key Object) Map
- type IOReader
- func (ior *IOReader) Close() error
- func (ior *IOReader) Equals(other interface{}) bool
- func (ior *IOReader) GetInfo() *ObjectInfo
- func (ior *IOReader) GetType() *Type
- func (ior *IOReader) Hash() uint32
- func (ior *IOReader) ToString(escape bool) string
- func (ior *IOReader) WithInfo(info *ObjectInfo) Object
- type IOWriter
- func (iow *IOWriter) Close() error
- func (iow *IOWriter) Equals(other interface{}) bool
- func (iow *IOWriter) GetInfo() *ObjectInfo
- func (iow *IOWriter) GetType() *Type
- func (iow *IOWriter) Hash() uint32
- func (iow *IOWriter) ToString(escape bool) string
- func (iow *IOWriter) WithInfo(info *ObjectInfo) Object
- type IfExpr
- type Indexed
- type InfoHolder
- type Int
- func (i Int) BigFloat() *big.Float
- func (i Int) BigInt() *big.Int
- func (i Int) Compare(other Object) int
- func (i Int) Double() Double
- func (i Int) Equals(other interface{}) bool
- func (i Int) GetType() *Type
- func (i Int) Hash() uint32
- func (i Int) Int() Int
- func (i Int) Native() interface{}
- func (n Int) Precision() *big.Int
- func (i Int) Ratio() *big.Rat
- func (i Int) ToString(escape bool) string
- func (x Int) WithInfo(info *ObjectInfo) Object
- type IntOps
- func (ops IntOps) Add(x, y Number) Number
- func (ops IntOps) Combine(other Ops) Ops
- func (ops IntOps) Divide(x, y Number) Number
- 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
- func (ops IntOps) Quotient(x, y Number) Number
- func (ops IntOps) Rem(x, y Number) Number
- func (ops IntOps) Subtract(x, y Number) Number
- type KVReduce
- type Keyword
- func (k Keyword) Call(args []Object) Object
- func (k Keyword) Compare(other Object) int
- func (k Keyword) Equals(other interface{}) bool
- func (k Keyword) GetType() *Type
- func (k Keyword) Hash() uint32
- func (k Keyword) Name() string
- func (k Keyword) Namespace() string
- func (k Keyword) ToString(escape bool) string
- func (x Keyword) WithInfo(info *ObjectInfo) Object
- type Keywords
- type LazySeq
- func (seq *LazySeq) Cons(obj Object) Seq
- func (seq *LazySeq) Equals(other interface{}) bool
- func (seq *LazySeq) First() Object
- func (seq *LazySeq) Format(w io.Writer, indent int) int
- func (seq *LazySeq) GetType() *Type
- func (seq *LazySeq) Hash() uint32
- func (seq *LazySeq) IsEmpty() bool
- func (seq *LazySeq) IsRealized() bool
- func (seq *LazySeq) Pprint(w io.Writer, indent int) int
- func (seq *LazySeq) Rest() Seq
- func (seq *LazySeq) Seq() Seq
- func (seq *LazySeq) ToString(escape bool) string
- func (x *LazySeq) WithInfo(info *ObjectInfo) Object
- func (seq *LazySeq) WithMeta(meta Map) Object
- type LetExpr
- type LineRuneReader
- type List
- func (list *List) Conj(obj Object) Conjable
- func (list *List) Cons(obj Object) Seq
- func (list *List) Count() int
- func (list *List) Empty() Collection
- func (list *List) Equals(other interface{}) bool
- func (list *List) First() Object
- func (seq *List) Format(w io.Writer, indent int) int
- func (list *List) Forth() Object
- func (list *List) GetType() *Type
- func (list *List) Hash() uint32
- func (list *List) IsEmpty() bool
- func (list *List) Peek() Object
- func (list *List) Pop() Stack
- func (seq *List) Pprint(w io.Writer, indent int) int
- func (list *List) Rest() Seq
- func (list *List) Second() Object
- func (list *List) Seq() Seq
- func (list *List) Third() Object
- func (list *List) ToString(escape bool) string
- func (x *List) WithInfo(info *ObjectInfo) Object
- func (list *List) WithMeta(meta Map) Object
- type LiteralExpr
- type LocalEnv
- type LoopExpr
- type MacroCallExpr
- type Map
- type MapExpr
- type MapIterator
- type MapSet
- func (set *MapSet) Add(obj Object) bool
- func (set *MapSet) Call(args []Object) Object
- func (set *MapSet) Conj(obj Object) Conjable
- func (set *MapSet) Count() int
- func (set *MapSet) Disjoin(key Object) Set
- func (set *MapSet) Empty() Collection
- func (set *MapSet) Equals(other interface{}) bool
- func (set *MapSet) Format(w io.Writer, indent int) int
- func (set *MapSet) Get(key Object) (bool, Object)
- func (seq *MapSet) GetType() *Type
- func (set *MapSet) Hash() uint32
- func (set *MapSet) Pprint(w io.Writer, indent int) int
- func (set *MapSet) Seq() Seq
- func (set *MapSet) ToString(escape bool) string
- func (x *MapSet) WithInfo(info *ObjectInfo) Object
- func (v *MapSet) WithMeta(meta Map) Object
- type MappingSeq
- func (seq *MappingSeq) Cons(obj Object) Seq
- func (seq *MappingSeq) Equals(other interface{}) bool
- func (seq *MappingSeq) First() Object
- func (seq *MappingSeq) Format(w io.Writer, indent int) int
- func (seq *MappingSeq) GetType() *Type
- func (seq *MappingSeq) Hash() uint32
- func (seq *MappingSeq) IsEmpty() bool
- func (seq *MappingSeq) Pprint(w io.Writer, indent int) int
- func (seq *MappingSeq) Rest() Seq
- func (seq *MappingSeq) Seq() Seq
- func (seq *MappingSeq) ToString(escape bool) string
- func (x *MappingSeq) WithInfo(info *ObjectInfo) Object
- func (seq *MappingSeq) WithMeta(meta Map) Object
- type Meta
- type MetaExpr
- type MetaHolder
- type Named
- type Namespace
- func (ns *Namespace) AddAlias(alias Symbol, namespace *Namespace)
- func (ns *Namespace) Aliases() map[*string]*Namespace
- func (ns *Namespace) AlterMeta(fn *Fn, args []Object) Map
- func (ns *Namespace) Equals(other interface{}) bool
- func (ns *Namespace) GetInfo() *ObjectInfo
- func (ns *Namespace) GetType() *Type
- func (ns *Namespace) Hash() uint32
- func (ns *Namespace) Intern(sym Symbol) *Var
- func (ns *Namespace) InternFake(sym Symbol) *Var
- func (ns *Namespace) InternVar(name string, val Object, meta *ArrayMap) *Var
- func (ns *Namespace) Mappings() map[*string]*Var
- func (ns *Namespace) MaybeLazy(doc string)
- func (ns *Namespace) Print(w io.Writer, printReadably bool)
- func (ns *Namespace) Refer(sym Symbol, vr *Var) *Var
- func (ns *Namespace) ReferAll(other *Namespace)
- func (ns *Namespace) ResetMeta(newMeta Map) Map
- func (ns *Namespace) Resolve(name string) *Var
- func (ns *Namespace) ToString(escape bool) string
- func (ns *Namespace) WithInfo(info *ObjectInfo) Object
- func (ns *Namespace) WithMeta(meta Map) Object
- type Native
- type Nil
- func (n Nil) Assoc(key, value Object) Associative
- func (n Nil) Conj(obj Object) Conjable
- func (n Nil) Cons(obj Object) Seq
- func (n Nil) Count() int
- func (n Nil) Disjoin(key Object) Set
- func (n Nil) EntryAt(key Object) *ArrayVector
- func (n Nil) Equals(other interface{}) bool
- func (n Nil) First() Object
- func (n Nil) Get(key Object) (bool, Object)
- func (n Nil) GetType() *Type
- func (n Nil) Hash() uint32
- func (n Nil) IsEmpty() bool
- func (n Nil) Iter() MapIterator
- func (n Nil) Keys() Seq
- func (n Nil) Merge(other Map) Map
- func (n Nil) Rest() Seq
- func (n Nil) Seq() Seq
- func (n Nil) ToString(escape bool) string
- func (n Nil) Vals() Seq
- func (x Nil) WithInfo(info *ObjectInfo) Object
- func (n Nil) Without(key Object) Map
- type Node
- type NodeIterator
- type NodeSeq
- func (s *NodeSeq) Cons(obj Object) Seq
- func (s *NodeSeq) Equals(other interface{}) bool
- func (s *NodeSeq) First() Object
- func (seq *NodeSeq) Format(w io.Writer, indent int) int
- func (s *NodeSeq) GetType() *Type
- func (s *NodeSeq) Hash() uint32
- func (s *NodeSeq) IsEmpty() bool
- func (seq *NodeSeq) Pprint(w io.Writer, indent int) int
- func (s *NodeSeq) Rest() Seq
- func (s *NodeSeq) Seq() Seq
- func (s *NodeSeq) ToString(escape bool) string
- func (x *NodeSeq) WithInfo(info *ObjectInfo) Object
- func (s *NodeSeq) WithMeta(meta Map) Object
- type Number
- type Object
- func CountedIndexedGet(v CountedIndexed, key Object) (bool, Object)
- func CountedIndexedKvreduce(v CountedIndexed, c Callable, init Object) Object
- func CountedIndexedReduce(v CountedIndexed, c Callable) Object
- func CountedIndexedReduceInit(v CountedIndexed, c Callable, init Object) Object
- func DeriveReadObject(base Object, obj Object) Object
- func Eval(expr Expr, env *LocalEnv) Object
- func ExtractObject(args []Object, index int) Object
- func Fourth(seq Seq) Object
- func MakeReadObject(reader *Reader, obj Object) Object
- func Read(reader *Reader) (Object, bool)
- func Second(seq Seq) Object
- func SeqNth(seq Seq, n int) Object
- func SeqTryNth(seq Seq, n int, d Object) Object
- func Third(seq Seq) Object
- func ToSlice(seq Seq) []Object
- func TryEval(expr Expr) (obj Object, err error)
- func TryRead(reader *Reader) (obj Object, err error)
- func UnpackObjectOrNull(p []byte, header *PackHeader) (Object, []byte)
- type ObjectInfo
- type Ops
- type PackEnv
- type PackHeader
- 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(other interface{}) bool
- func (err ParseError) Error() string
- func (err *ParseError) GetInfo() *ObjectInfo
- func (err *ParseError) GetType() *Type
- func (err *ParseError) Hash() uint32
- func (err *ParseError) Message() Object
- func (err *ParseError) ToString(escape bool) string
- func (err *ParseError) WithInfo(info *ObjectInfo) Object
- type Pending
- type Phase
- type Position
- type Pprinter
- type Precision
- type Printer
- type Proc
- func (p Proc) Call(args []Object) Object
- func (p Proc) Compare(a, b Object) int
- func (p Proc) Equals(other interface{}) bool
- func (p Proc) GetInfo() *ObjectInfo
- func (p Proc) GetType() *Type
- func (p Proc) Hash() uint32
- func (p Proc) ToString(escape bool) string
- func (p Proc) WithInfo(*ObjectInfo) Object
- type ProcFn
- type Ratio
- func (r *Ratio) BigFloat() *big.Float
- func (r *Ratio) BigInt() *big.Int
- func (rat *Ratio) Compare(other Object) int
- func (r *Ratio) Double() Double
- func (rat *Ratio) Equals(other interface{}) bool
- func (rat *Ratio) GetType() *Type
- func (rat *Ratio) Hash() uint32
- func (r *Ratio) Int() Int
- func (r *Ratio) Ratio() *big.Rat
- func (rat *Ratio) ToString(escape bool) string
- func (x *Ratio) WithInfo(info *ObjectInfo) Object
- type RatioOps
- func (ops RatioOps) Add(x, y Number) Number
- func (ops RatioOps) Combine(other Ops) Ops
- func (ops RatioOps) Divide(x, y Number) Number
- 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
- func (ops RatioOps) Quotient(x, y Number) Number
- func (ops RatioOps) Rem(x, y Number) Number
- func (ops RatioOps) Subtract(x, y Number) Number
- type ReadError
- type ReadFunc
- type Reader
- type RecurBindings
- type RecurExpr
- type Reduce
- type Ref
- type Regex
- type RequireSort
- type Reversible
- type RuneWindow
- type Runtime
- type Seq
- type SeqIterator
- type Seqable
- type Sequential
- type Set
- type SetExpr
- type SetMacroExpr
- type SortableSlice
- type Stack
- type Str
- type String
- func (s String) Compare(other Object) int
- func (s String) Count() int
- func (s String) Equals(other interface{}) bool
- func (s String) Format(w io.Writer, indent int) int
- func (s String) GetType() *Type
- func (s String) Hash() uint32
- func (s String) Native() interface{}
- func (s String) Nth(i int) Object
- func (s String) Seq() Seq
- func (s String) ToString(escape bool) string
- func (s String) TryNth(i int, d Object) Object
- func (x String) WithInfo(info *ObjectInfo) Object
- type StringPool
- type StringReader
- type Symbol
- func (s Symbol) Call(args []Object) Object
- func (s Symbol) Compare(other Object) int
- func (s Symbol) Equals(other interface{}) bool
- func (s Symbol) GetType() *Type
- func (s Symbol) Hash() uint32
- func (s Symbol) Name() string
- func (s Symbol) Namespace() string
- func (s Symbol) Pack(p []byte, env *PackEnv) []byte
- func (s Symbol) ToString(escape bool) string
- func (x Symbol) WithInfo(info *ObjectInfo) Object
- func (sym Symbol) WithMeta(meta Map) Object
- type Symbols
- type ThrowExpr
- type Time
- type Traceable
- type TryExpr
- type Type
- func EnsureArgIsType(args []Object, index int) *Type
- func EnsureObjectIsType(obj Object, pattern string) *Type
- func RegInterface(name string, inst interface{}, doc string) *Type
- func RegRefType(name string, inst interface{}, doc string) *Type
- func RegType(name string, inst interface{}, doc string) *Type
- type Types
- type Var
- func (v *Var) AlterMeta(fn *Fn, args []Object) Map
- func (v *Var) Call(args []Object) Object
- func (v *Var) Deref() Object
- func (v *Var) Equals(other interface{}) bool
- func (v *Var) GetType() *Type
- func (v *Var) Hash() uint32
- func (v *Var) Name() string
- func (vr *Var) Pack(p []byte, env *PackEnv) []byte
- func (v *Var) ResetMeta(newMeta Map) Map
- func (v *Var) Resolve() Object
- func (v *Var) ToString(escape bool) string
- func (x *Var) WithInfo(info *ObjectInfo) Object
- func (v *Var) WithMeta(meta Map) Object
- type VarRefExpr
- type Vec
- type Vector
- func (v *Vector) Assoc(key, val Object) Associative
- func (v *Vector) At(i int) Object
- func (v *Vector) Call(args []Object) Object
- func (v *Vector) Compare(other Object) int
- func (v *Vector) Conj(obj Object) Conjable
- func (v *Vector) Conjoin(obj Object) *Vector
- func (v *Vector) Count() int
- func (v *Vector) Empty() Collection
- func (v *Vector) EntryAt(key Object) *ArrayVector
- func (v *Vector) Equals(other interface{}) bool
- func (v *Vector) Format(w io.Writer, indent int) int
- func (v *Vector) Get(key Object) (bool, Object)
- func (v *Vector) GetType() *Type
- func (v *Vector) Hash() uint32
- func (v *Vector) Nth(i int) Object
- func (v *Vector) Peek() Object
- func (v *Vector) Pop() Stack
- func (v *Vector) Pprint(w io.Writer, indent int) int
- func (v *Vector) Rseq() Seq
- func (v *Vector) Seq() Seq
- func (v *Vector) ToString(escape bool) string
- func (v *Vector) TryNth(i int, d Object) Object
- func (x *Vector) WithInfo(info *ObjectInfo) Object
- func (v *Vector) WithMeta(meta Map) Object
- type VectorExpr
- type VectorRSeq
- func (seq *VectorRSeq) Cons(obj Object) Seq
- func (seq *VectorRSeq) Equals(other interface{}) bool
- func (seq *VectorRSeq) First() Object
- func (seq *VectorRSeq) Format(w io.Writer, indent int) int
- func (seq *VectorRSeq) GetType() *Type
- func (seq *VectorRSeq) Hash() uint32
- func (seq *VectorRSeq) IsEmpty() bool
- func (seq *VectorRSeq) Pprint(w io.Writer, indent int) int
- func (seq *VectorRSeq) Rest() Seq
- func (seq *VectorRSeq) Seq() Seq
- func (seq *VectorRSeq) ToString(escape bool) string
- func (x *VectorRSeq) WithInfo(info *ObjectInfo) Object
- func (seq *VectorRSeq) WithMeta(meta Map) Object
- type VectorSeq
- func (seq *VectorSeq) Cons(obj Object) Seq
- func (seq *VectorSeq) Equals(other interface{}) bool
- func (seq *VectorSeq) First() Object
- func (seq *VectorSeq) Format(w io.Writer, indent int) int
- func (seq *VectorSeq) GetType() *Type
- func (seq *VectorSeq) Hash() uint32
- func (seq *VectorSeq) IsEmpty() bool
- func (seq *VectorSeq) Pprint(w io.Writer, indent int) int
- func (seq *VectorSeq) Rest() Seq
- func (seq *VectorSeq) Seq() Seq
- func (seq *VectorSeq) ToString(escape bool) string
- func (x *VectorSeq) WithInfo(info *ObjectInfo) Object
- func (seq *VectorSeq) WithMeta(meta Map) Object
- type Warnings
Constants ¶
const ( INTEGER_CATEGORY = iota FLOATING_CATEGORY = iota RATIO_CATEGORY = iota )
const ( LITERAL_EXPR = 1 VECTOR_EXPR = 2 MAP_EXPR = 3 SET_EXPR = 4 IF_EXPR = 5 DEF_EXPR = 6 CALL_EXPR = 7 RECUR_EXPR = 8 META_EXPR = 9 DO_EXPR = 10 FN_ARITY_EXPR = 11 FN_EXPR = 12 LET_EXPR = 13 THROW_EXPR = 14 CATCH_EXPR = 15 TRY_EXPR = 16 VARREF_EXPR = 17 BINDING_EXPR = 18 LOOP_EXPR = 19 SET_MACRO_EXPR = 20 NULL = 100 NOT_NULL = 101 SYMBOL_OBJ = 102 VAR_OBJ = 103 TYPE_OBJ = 104 )
const EOF = -1
const KeywordHashMask uint32 = 0x7334c790
const MAX_RUNE = int(^uint32(0) >> 1)
const MIN_RUNE = -MAX_RUNE - 1
const VERSION = "v1.4.0"
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 FORMAT_MODE bool = false PROBLEM_COUNT = 0 DIALECT Dialect LINTER_CONFIG *Var SUPPRESS_READ bool = false )
var ( ARGS map[int]Symbol GENSYM int )
var (
EmptyHashMap = &HashMap{}
)
var EmptyList = NewList(Nil{}, nil)
var (
HASHMAP_THRESHOLD int64 = 16
)
var NIL = Nil{}
var (
VECTOR_THRESHOLD int = 16
)
Functions ¶
func AreCountedIndexedEqual ¶ added in v1.3.0
func AreCountedIndexedEqual(v1, v2 CountedIndexed) bool
func CheckArity ¶
func CompareNumbers ¶
func CountedIndexedCompare ¶ added in v1.3.0
func CountedIndexedCompare(v1, v2 CountedIndexed) int
func CountedIndexedFormat ¶ added in v1.3.0
func CountedIndexedFormat(v CountedIndexed, w io.Writer, indent int) int
func CountedIndexedHash ¶ added in v1.3.0
func CountedIndexedHash(v CountedIndexed) uint32
func CountedIndexedPprint ¶ added in v1.3.0
func CountedIndexedPprint(v CountedIndexed, w io.Writer, indent int) int
func CountedIndexedToString ¶ added in v1.3.0
func CountedIndexedToString(v CountedIndexed, escape bool) string
func EnableIdentValidation ¶
func EnableIdentValidation()
func EnsureArgIsio_RuneReader ¶
func EnsureArgIsio_RuneReader(args []Object, index int) io.RuneReader
func EnsureObjectIsInts ¶
func EnsureObjectIsio_RuneReader ¶
func EnsureObjectIsio_RuneReader(obj Object, pattern string) io.RuneReader
func ExtractBoolean ¶
func ExtractChar ¶
func ExtractDouble ¶
func ExtractInt ¶
func ExtractInteger ¶
func ExtractKeyword ¶
func ExtractString ¶
func ExtractStringable ¶
func ExtractStrings ¶
func IsEqualOrImplements ¶
func IsInstance ¶
func IsSeqEqual ¶
func IsSpecialSymbol ¶
func MakeMathBigIntFromInt ¶ added in v0.17.1
Helper function that returns a math/big.Int given an int.
func MakeMathBigIntFromInt64 ¶ added in v0.17.1
Helper function that returns a math/big.Int given an int64.
func MakeMathBigIntFromUint ¶ added in v0.17.1
Helper function that returns a math/big.Int given a uint.
func MakeMathBigIntFromUint64 ¶ added in v0.17.1
Helper function that returns a math/big.Int given a uint64.
func PanicArity ¶
func PanicArity(n int)
func PanicArityMinMax ¶
func PanicArityMinMax(n, min, max int)
func PanicOnErr ¶
func PanicOnErr(err error)
func PrintObject ¶
func ProcessCoreData ¶
func ProcessCoreData()
func ProcessLinterData ¶
func ProcessLinterData(dialect Dialect)
func ProcessLinterFile ¶
func ProcessLinterFiles ¶
func ProcessReaderFromEval ¶
func ProcessReplData ¶
func ProcessReplData()
func ReadConfig ¶
func RemoveJokerNamespaces ¶ added in v0.17.2
func RemoveJokerNamespaces()
func ResetUsage ¶
func ResetUsage()
func SeqToString ¶
func SetIdentRangeASCII ¶
func SetIdentRangeASCII()
func SetIdentRangeAny ¶
func SetIdentRangeAny()
func SetIdentRangeUnicode ¶
func SetIdentRangeUnicode()
func SetIdentSetAny ¶
func SetIdentSetAny()
func SetIdentSetCore ¶
func SetIdentSetCore()
func SetIdentSetSymbol ¶
func SetIdentSetSymbol()
func SetIdentSetVisible ¶
func SetIdentSetVisible()
func ToNative ¶ added in v0.17.0
func ToNative(obj Object) interface{}
Convert Joker object to native Go object. For those satisfying the Native type, that's straightforward. For other Joker objects, try converting them to suitable native Go objects. E.g. a BigInt might hold a value > MaxInt64 but < MaxUint64, in which case conversion to a uint64 makes more sense than returning the stringized version, for use cases such as `(format "%x" value)`. Even for BigFloat and BigRat, try to (accurately) convert them to native types so they can be formatted via the usual ways.
func WarnOnGloballyUnusedNamespaces ¶
func WarnOnGloballyUnusedNamespaces()
func WarnOnGloballyUnusedVars ¶
func WarnOnGloballyUnusedVars()
func WarnOnUnusedNamespaces ¶
func WarnOnUnusedNamespaces()
func WarnOnUnusedVars ¶
func WarnOnUnusedVars()
Types ¶
type ArrayMap ¶
type ArrayMap struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func EmptyArrayMap ¶
func EmptyArrayMap() *ArrayMap
func (*ArrayMap) Empty ¶
func (m *ArrayMap) Empty() Collection
func (*ArrayMap) EntryAt ¶
func (m *ArrayMap) EntryAt(key Object) *ArrayVector
func (*ArrayMap) Iter ¶
func (m *ArrayMap) Iter() MapIterator
func (*ArrayMap) WithInfo ¶
func (x *ArrayMap) WithInfo(info *ObjectInfo) Object
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 Object) Seq
func (*ArrayMapSeq) Equals ¶
func (seq *ArrayMapSeq) Equals(other interface{}) bool
func (*ArrayMapSeq) First ¶
func (seq *ArrayMapSeq) First() Object
func (*ArrayMapSeq) GetType ¶
func (seq *ArrayMapSeq) GetType() *Type
func (*ArrayMapSeq) Hash ¶
func (seq *ArrayMapSeq) Hash() uint32
func (*ArrayMapSeq) IsEmpty ¶
func (seq *ArrayMapSeq) IsEmpty() bool
func (*ArrayMapSeq) Rest ¶
func (seq *ArrayMapSeq) Rest() Seq
func (*ArrayMapSeq) Seq ¶
func (seq *ArrayMapSeq) Seq() Seq
func (*ArrayMapSeq) ToString ¶
func (seq *ArrayMapSeq) ToString(escape bool) string
func (*ArrayMapSeq) WithInfo ¶
func (x *ArrayMapSeq) WithInfo(info *ObjectInfo) Object
func (*ArrayMapSeq) WithMeta ¶
func (seq *ArrayMapSeq) WithMeta(meta Map) Object
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 Object) Seq
func (*ArrayNodeSeq) Equals ¶
func (s *ArrayNodeSeq) Equals(other interface{}) bool
func (*ArrayNodeSeq) First ¶
func (s *ArrayNodeSeq) First() Object
func (*ArrayNodeSeq) GetType ¶
func (s *ArrayNodeSeq) GetType() *Type
func (*ArrayNodeSeq) Hash ¶
func (s *ArrayNodeSeq) Hash() uint32
func (*ArrayNodeSeq) IsEmpty ¶
func (s *ArrayNodeSeq) IsEmpty() bool
func (*ArrayNodeSeq) Rest ¶
func (s *ArrayNodeSeq) Rest() Seq
func (*ArrayNodeSeq) Seq ¶
func (s *ArrayNodeSeq) Seq() Seq
func (*ArrayNodeSeq) ToString ¶
func (s *ArrayNodeSeq) ToString(escape bool) string
func (*ArrayNodeSeq) WithInfo ¶
func (x *ArrayNodeSeq) WithInfo(info *ObjectInfo) Object
func (*ArrayNodeSeq) WithMeta ¶
func (s *ArrayNodeSeq) WithMeta(meta Map) Object
type ArraySeq ¶
type ArraySeq struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func ArraySeqFromArrayMap ¶
func (*ArraySeq) WithInfo ¶
func (x *ArraySeq) WithInfo(info *ObjectInfo) Object
type ArrayVector ¶ added in v1.3.0
type ArrayVector struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func EmptyArrayVector ¶ added in v1.3.0
func EmptyArrayVector() *ArrayVector
func MakeIntVector ¶ added in v0.17.0
func MakeIntVector(ii []int) *ArrayVector
func MakeStringVector ¶
func MakeStringVector(ss []string) *ArrayVector
func NewArrayVectorFrom ¶ added in v1.3.0
func NewArrayVectorFrom(objs ...Object) *ArrayVector
func (*ArrayVector) Append ¶ added in v1.3.0
func (v *ArrayVector) Append(obj Object)
func (*ArrayVector) Assoc ¶ added in v1.3.0
func (v *ArrayVector) Assoc(key, val Object) Associative
func (*ArrayVector) At ¶ added in v1.3.0
func (v *ArrayVector) At(i int) Object
func (*ArrayVector) Call ¶ added in v1.3.0
func (v *ArrayVector) Call(args []Object) Object
func (*ArrayVector) Clone ¶ added in v1.3.0
func (v *ArrayVector) Clone() *ArrayVector
func (*ArrayVector) Compare ¶ added in v1.3.0
func (v *ArrayVector) Compare(other Object) int
func (*ArrayVector) Conj ¶ added in v1.3.0
func (v *ArrayVector) Conj(obj Object) Conjable
func (*ArrayVector) Conjoin ¶ added in v1.3.0
func (v *ArrayVector) Conjoin(obj Object) Vec
func (*ArrayVector) Count ¶ added in v1.3.0
func (v *ArrayVector) Count() int
func (*ArrayVector) Empty ¶ added in v1.3.0
func (v *ArrayVector) Empty() Collection
func (*ArrayVector) EntryAt ¶ added in v1.3.0
func (v *ArrayVector) EntryAt(key Object) *ArrayVector
func (*ArrayVector) Equals ¶ added in v1.3.0
func (v *ArrayVector) Equals(other interface{}) bool
func (*ArrayVector) Format ¶ added in v1.3.0
func (v *ArrayVector) Format(w io.Writer, indent int) int
func (*ArrayVector) GetType ¶ added in v1.3.0
func (v *ArrayVector) GetType() *Type
func (*ArrayVector) Hash ¶ added in v1.3.0
func (v *ArrayVector) Hash() uint32
func (*ArrayVector) Nth ¶ added in v1.3.0
func (v *ArrayVector) Nth(i int) Object
func (*ArrayVector) Peek ¶ added in v1.3.0
func (v *ArrayVector) Peek() Object
func (*ArrayVector) Pop ¶ added in v1.3.0
func (v *ArrayVector) Pop() Stack
func (*ArrayVector) Pprint ¶ added in v1.3.0
func (v *ArrayVector) Pprint(w io.Writer, indent int) int
func (*ArrayVector) Rseq ¶ added in v1.3.0
func (v *ArrayVector) Rseq() Seq
func (*ArrayVector) Seq ¶ added in v1.3.0
func (v *ArrayVector) Seq() Seq
func (*ArrayVector) ToString ¶ added in v1.3.0
func (v *ArrayVector) ToString(escape bool) string
func (*ArrayVector) WithInfo ¶ added in v1.3.0
func (x *ArrayVector) WithInfo(info *ObjectInfo) Object
func (*ArrayVector) WithMeta ¶ added in v1.3.0
func (v *ArrayVector) WithMeta(meta Map) Object
type Associative ¶
type Associative interface { Conjable Gettable EntryAt(key Object) *ArrayVector Assoc(key, val Object) Associative }
func EnsureArgIsAssociative ¶
func EnsureArgIsAssociative(args []Object, index int) Associative
func EnsureObjectIsAssociative ¶
func EnsureObjectIsAssociative(obj Object, pattern string) Associative
type Atom ¶
type Atom struct { MetaHolder // contains filtered or unexported fields }
func EnsureArgIsAtom ¶
func EnsureObjectIsAtom ¶
func (*Atom) GetInfo ¶
func (a *Atom) GetInfo() *ObjectInfo
func (*Atom) WithInfo ¶
func (a *Atom) WithInfo(info *ObjectInfo) Object
type BigFloat ¶
type BigFloat struct { InfoHolder Original string // contains filtered or unexported fields }
func EnsureArgIsBigFloat ¶ added in v0.17.1
func EnsureObjectIsBigFloat ¶ added in v0.17.1
func MakeBigFloat ¶ added in v0.17.1
func MakeBigFloatWithOrig ¶ added in v0.17.1
Helper function that returns a BigFloat given a string, remembering any original string provided, and true if the string had the proper format; nil and false otherwise.
func (*BigFloat) WithInfo ¶
func (x *BigFloat) WithInfo(info *ObjectInfo) Object
type BigFloatOps ¶
type BigFloatOps struct{}
func (BigFloatOps) Add ¶
func (ops BigFloatOps) Add(x, y Number) Number
func (BigFloatOps) Combine ¶
func (ops BigFloatOps) Combine(other Ops) Ops
func (BigFloatOps) Divide ¶
func (ops BigFloatOps) Divide(x, y Number) Number
func (BigFloatOps) IsZero ¶
func (ops BigFloatOps) IsZero(x Number) bool
func (BigFloatOps) Multiply ¶
func (ops BigFloatOps) Multiply(x, y Number) Number
func (BigFloatOps) Quotient ¶
func (ops BigFloatOps) Quotient(x, y Number) Number
func (BigFloatOps) Rem ¶
func (ops BigFloatOps) Rem(x, y Number) Number
func (BigFloatOps) Subtract ¶
func (ops BigFloatOps) Subtract(x, y Number) Number
type BigInt ¶
type BigInt struct { InfoHolder Original string // contains filtered or unexported fields }
func EnsureArgIsBigInt ¶ added in v0.17.1
func EnsureObjectIsBigInt ¶ added in v0.17.1
func MakeBigInt ¶
func (*BigInt) WithInfo ¶
func (x *BigInt) WithInfo(info *ObjectInfo) Object
type BindingExpr ¶
type BindingExpr struct { Position // contains filtered or unexported fields }
func (*BindingExpr) Dump ¶
func (expr *BindingExpr) Dump(pos bool) Map
func (*BindingExpr) Eval ¶
func (expr *BindingExpr) Eval(env *LocalEnv) Object
func (*BindingExpr) InferType ¶
func (expr *BindingExpr) InferType() *Type
type Bindings ¶
type Bindings struct {
// contains filtered or unexported fields
}
func (*Bindings) AddBinding ¶
func (*Bindings) GetBinding ¶
type BitmapIndexedNode ¶
type BitmapIndexedNode struct {
// contains filtered or unexported fields
}
type Boolean ¶
type Boolean struct { InfoHolder B bool }
func EnsureArgIsBoolean ¶
func EnsureObjectIsBoolean ¶
func MakeBoolean ¶
func (Boolean) WithInfo ¶
func (x Boolean) WithInfo(info *ObjectInfo) Object
type Buffer ¶
func MakeBuffer ¶
func (*Buffer) GetInfo ¶
func (b *Buffer) GetInfo() *ObjectInfo
func (*Buffer) WithInfo ¶
func (b *Buffer) WithInfo(info *ObjectInfo) Object
type BufferedReader ¶
func MakeBufferedReader ¶
func MakeBufferedReader(rd io.Reader) *BufferedReader
func (*BufferedReader) Equals ¶
func (br *BufferedReader) Equals(other interface{}) bool
func (*BufferedReader) GetInfo ¶
func (br *BufferedReader) GetInfo() *ObjectInfo
func (*BufferedReader) GetType ¶
func (br *BufferedReader) GetType() *Type
func (*BufferedReader) Hash ¶
func (br *BufferedReader) Hash() uint32
func (*BufferedReader) ToString ¶
func (br *BufferedReader) ToString(escape bool) string
func (*BufferedReader) WithInfo ¶
func (br *BufferedReader) WithInfo(info *ObjectInfo) Object
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 Channel ¶
type Channel struct {
// contains filtered or unexported fields
}
func EnsureArgIsChannel ¶
func EnsureObjectIsChannel ¶
func ExtractChannel ¶
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) Object
type Char ¶
type Char struct { InfoHolder Ch rune }
func EnsureArgIsChar ¶
func EnsureObjectIsChar ¶
func (Char) WithInfo ¶
func (x Char) WithInfo(info *ObjectInfo) Object
type Collection ¶
type Collection interface { Object Counted Seqable Empty() Collection }
type Comment ¶
type Comment struct { InfoHolder C string }
func (Comment) WithInfo ¶
func (x Comment) WithInfo(info *ObjectInfo) Object
type Comparable ¶
func EnsureArgIsComparable ¶
func EnsureArgIsComparable(args []Object, index int) Comparable
func EnsureObjectIsComparable ¶
func EnsureObjectIsComparable(obj Object, pattern string) Comparable
type Comparator ¶
func EnsureArgIsComparator ¶
func EnsureArgIsComparator(args []Object, index int) Comparator
func EnsureObjectIsComparator ¶
func EnsureObjectIsComparator(obj Object, pattern string) Comparator
type ConsSeq ¶
type ConsSeq struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func NewConsSeq ¶
func (*ConsSeq) WithInfo ¶
func (x *ConsSeq) WithInfo(info *ObjectInfo) Object
type CountedIndexed ¶ added in v1.3.0
func EnsureArgIsCountedIndexed ¶ added in v1.3.0
func EnsureArgIsCountedIndexed(args []Object, index int) CountedIndexed
func EnsureObjectIsCountedIndexed ¶ added in v1.3.0
func EnsureObjectIsCountedIndexed(obj Object, pattern string) CountedIndexed
type Delay ¶
type Delay struct {
// contains filtered or unexported fields
}
func (*Delay) GetInfo ¶
func (d *Delay) GetInfo() *ObjectInfo
func (*Delay) IsRealized ¶
func (*Delay) WithInfo ¶
func (d *Delay) WithInfo(info *ObjectInfo) Object
type Deref ¶
type Deref interface {
Deref() Object
}
func EnsureArgIsDeref ¶
func EnsureObjectIsDeref ¶
type Double ¶
type Double struct { InfoHolder D float64 Original string }
func EnsureArgIsDouble ¶
func EnsureObjectIsDouble ¶
func MakeDouble ¶
func (Double) WithInfo ¶
func (x Double) WithInfo(info *ObjectInfo) Object
type EmptyMapIterator ¶
type EmptyMapIterator struct { }
func (*EmptyMapIterator) HasNext ¶
func (iter *EmptyMapIterator) HasNext() bool
func (*EmptyMapIterator) Next ¶
func (iter *EmptyMapIterator) Next() *Pair
type Env ¶
type Env struct { Namespaces map[*string]*Namespace CoreNamespace *Namespace MainFile *Var NS_VAR *Var IN_NS_VAR *Var Features Set // contains filtered or unexported fields }
func (*Env) CurrentNamespace ¶
func (*Env) EnsureSymbolIsLib ¶
func (*Env) EnsureSymbolIsNamespace ¶
func (*Env) FindNamespace ¶
func (*Env) InitEnv ¶
This runs after invariant initialization, which includes calling
NewEnv(). NOTE: Any changes to the list of run-time initializations must be reflected in gen_code/gen_code.go.
func (*Env) ReferCoreToUser ¶
func (env *Env) ReferCoreToUser()
func (*Env) RemoveNamespace ¶
func (*Env) ResolveSymbol ¶
func (*Env) SetClassPath ¶
This runs after invariant initialization, which includes calling
NewEnv(). NOTE: Any changes to the list of run-time initializations must be reflected in gen_code/gen_code.go.
func (*Env) SetCurrentNamespace ¶
func (*Env) SetEnvArgs ¶
func (*Env) SetFilename ¶
This runs after invariant initialization, which includes calling
NewEnv(). NOTE: Any changes to the list of run-time initializations must be reflected in gen_code/gen_code.go.
func (*Env) SetMainFilename ¶
This runs after invariant initialization, which includes calling
NewEnv(). NOTE: Any changes to the list of run-time initializations must be reflected in gen_code/gen_code.go.
type EvalError ¶
type EvalError struct {
// contains filtered or unexported fields
}
func FailObject ¶
func (*EvalError) GetInfo ¶
func (err *EvalError) GetInfo() *ObjectInfo
func (*EvalError) WithInfo ¶
func (err *EvalError) WithInfo(info *ObjectInfo) Object
type ExInfo ¶
type ExInfo struct { ArrayMap // contains filtered or unexported fields }
func (*ExInfo) WithInfo ¶
func (x *ExInfo) WithInfo(info *ObjectInfo) Object
type Expr ¶
type Expr interface { Eval(env *LocalEnv) Object InferType() *Type Pos() Position Dump(includePosition bool) Map Pack(p []byte, env *PackEnv) []byte }
func Parse ¶
func Parse(obj Object, ctx *ParseContext) Expr
func UnpackExpr ¶
func UnpackExpr(p []byte, header *PackHeader) (Expr, []byte)
func UnpackExprOrNull ¶
func UnpackExprOrNull(p []byte, header *PackHeader) (Expr, []byte)
type File ¶
func EnsureArgIsFile ¶
func EnsureObjectIsFile ¶
func ExtractFile ¶
func (*File) GetInfo ¶
func (f *File) GetInfo() *ObjectInfo
func (*File) WithInfo ¶
func (f *File) WithInfo(info *ObjectInfo) Object
type Fn ¶
type Fn struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func EnsureArgIsFn ¶
func EnsureObjectIsFn ¶
func (*Fn) WithInfo ¶
func (x *Fn) WithInfo(info *ObjectInfo) Object
type FnArityExpr ¶
type FnArityExpr struct { Position // contains filtered or unexported fields }
func (*FnArityExpr) Dump ¶
func (expr *FnArityExpr) Dump(pos bool) Map
func (*FnArityExpr) Eval ¶
func (expr *FnArityExpr) Eval(env *LocalEnv) Object
func (*FnArityExpr) InferType ¶
func (expr *FnArityExpr) InferType() *Type
type FutureResult ¶
type FutureResult struct {
// contains filtered or unexported fields
}
func MakeFutureResult ¶
func MakeFutureResult(value Object, err Error) FutureResult
type HashCollisionNode ¶
type HashCollisionNode struct {
// contains filtered or unexported fields
}
type HashMap ¶
type HashMap struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func NewHashMap ¶
func (*HashMap) Assoc ¶
func (m *HashMap) Assoc(key, val Object) Associative
func (*HashMap) Empty ¶
func (m *HashMap) Empty() Collection
func (*HashMap) EntryAt ¶
func (m *HashMap) EntryAt(key Object) *ArrayVector
func (*HashMap) Iter ¶
func (m *HashMap) Iter() MapIterator
func (*HashMap) WithInfo ¶
func (x *HashMap) WithInfo(info *ObjectInfo) Object
type IOReader ¶
func MakeIOReader ¶
func (*IOReader) GetInfo ¶
func (ior *IOReader) GetInfo() *ObjectInfo
func (*IOReader) WithInfo ¶
func (ior *IOReader) WithInfo(info *ObjectInfo) Object
type IOWriter ¶
func MakeIOWriter ¶
func (*IOWriter) GetInfo ¶
func (iow *IOWriter) GetInfo() *ObjectInfo
func (*IOWriter) WithInfo ¶
func (iow *IOWriter) WithInfo(info *ObjectInfo) Object
type InfoHolder ¶
type InfoHolder struct {
// contains filtered or unexported fields
}
func (InfoHolder) GetInfo ¶
func (i InfoHolder) GetInfo() *ObjectInfo
type Int ¶
type Int struct { InfoHolder I int Original string }
func EnsureArgIsInt ¶
func EnsureObjectIsInt ¶
func MakeIntWithOriginal ¶
func (Int) WithInfo ¶
func (x Int) WithInfo(info *ObjectInfo) Object
type KVReduce ¶
type KVReduce interface {
// contains filtered or unexported methods
}
func EnsureArgIsKVReduce ¶
func EnsureObjectIsKVReduce ¶
type Keyword ¶
type Keyword struct { InfoHolder // contains filtered or unexported fields }
func EnsureArgIsKeyword ¶
func EnsureObjectIsKeyword ¶
func MakeKeyword ¶
func (Keyword) WithInfo ¶
func (x Keyword) WithInfo(info *ObjectInfo) Object
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) Object
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 }
func NewListFrom ¶
func (*List) Empty ¶
func (list *List) Empty() Collection
func (*List) WithInfo ¶
func (x *List) WithInfo(info *ObjectInfo) Object
type LiteralExpr ¶
type LiteralExpr struct { Position // contains filtered or unexported fields }
func NewLiteralExpr ¶
func NewLiteralExpr(obj Object) *LiteralExpr
func NewSurrogateExpr ¶
func NewSurrogateExpr(obj Object) *LiteralExpr
func (*LiteralExpr) Dump ¶
func (expr *LiteralExpr) Dump(pos bool) Map
func (*LiteralExpr) Eval ¶
func (expr *LiteralExpr) Eval(env *LocalEnv) Object
func (*LiteralExpr) InferType ¶
func (expr *LiteralExpr) InferType() *Type
type MacroCallExpr ¶
type MacroCallExpr struct { Position // contains filtered or unexported fields }
func (*MacroCallExpr) Dump ¶
func (expr *MacroCallExpr) Dump(pos bool) Map
func (*MacroCallExpr) Eval ¶
func (expr *MacroCallExpr) Eval(env *LocalEnv) Object
func (*MacroCallExpr) InferType ¶
func (expr *MacroCallExpr) InferType() *Type
func (*MacroCallExpr) Name ¶
func (expr *MacroCallExpr) Name() string
type Map ¶
type Map interface { Associative Seqable Counted Without(key Object) Map Keys() Seq Vals() Seq Merge(m Map) Map Iter() MapIterator }
func EnsureArgIsMap ¶
func EnsureObjectIsMap ¶
func ExtractMap ¶
type MapIterator ¶
type MapSet ¶
type MapSet struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func NewSetFromSeq ¶
func (*MapSet) Empty ¶
func (set *MapSet) Empty() Collection
func (*MapSet) WithInfo ¶
func (x *MapSet) WithInfo(info *ObjectInfo) Object
type MappingSeq ¶
type MappingSeq struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func (*MappingSeq) Cons ¶
func (seq *MappingSeq) Cons(obj Object) Seq
func (*MappingSeq) Equals ¶
func (seq *MappingSeq) Equals(other interface{}) bool
func (*MappingSeq) First ¶
func (seq *MappingSeq) First() Object
func (*MappingSeq) GetType ¶
func (seq *MappingSeq) GetType() *Type
func (*MappingSeq) Hash ¶
func (seq *MappingSeq) Hash() uint32
func (*MappingSeq) IsEmpty ¶
func (seq *MappingSeq) IsEmpty() bool
func (*MappingSeq) Rest ¶
func (seq *MappingSeq) Rest() Seq
func (*MappingSeq) Seq ¶
func (seq *MappingSeq) Seq() Seq
func (*MappingSeq) ToString ¶
func (seq *MappingSeq) ToString(escape bool) string
func (*MappingSeq) WithInfo ¶
func (x *MappingSeq) WithInfo(info *ObjectInfo) Object
func (*MappingSeq) WithMeta ¶
func (seq *MappingSeq) WithMeta(meta Map) Object
type MetaHolder ¶
type MetaHolder struct {
// contains filtered or unexported fields
}
func (MetaHolder) GetMeta ¶
func (m MetaHolder) GetMeta() Map
type Namespace ¶
type Namespace struct { MetaHolder Name Symbol Lazy func() // contains filtered or unexported fields }
func EnsureArgIsNamespace ¶
func EnsureObjectIsNamespace ¶
func NewNamespace ¶
func (*Namespace) GetInfo ¶
func (ns *Namespace) GetInfo() *ObjectInfo
func (*Namespace) InternFake ¶
func (*Namespace) WithInfo ¶
func (ns *Namespace) WithInfo(info *ObjectInfo) Object
type Nil ¶
type Nil struct { InfoHolder // contains filtered or unexported fields }
func (Nil) Assoc ¶
func (n Nil) Assoc(key, value Object) Associative
func (Nil) EntryAt ¶
func (n Nil) EntryAt(key Object) *ArrayVector
func (Nil) Iter ¶
func (n Nil) Iter() MapIterator
func (Nil) WithInfo ¶
func (x Nil) WithInfo(info *ObjectInfo) Object
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) Object
type Number ¶
type Number interface { Object Int() Int Double() Double BigInt() *big.Int BigFloat() *big.Float Ratio() *big.Rat }
func EnsureArgIsNumber ¶
func EnsureObjectIsNumber ¶
func ExtractNumber ¶
type Object ¶
type Object interface { Equality ToString(escape bool) string GetInfo() *ObjectInfo WithInfo(*ObjectInfo) Object GetType() *Type Hash() uint32 }
func CountedIndexedGet ¶ added in v1.3.0
func CountedIndexedGet(v CountedIndexed, key Object) (bool, Object)
func CountedIndexedKvreduce ¶ added in v1.3.0
func CountedIndexedKvreduce(v CountedIndexed, c Callable, init Object) Object
func CountedIndexedReduce ¶ added in v1.3.0
func CountedIndexedReduce(v CountedIndexed, c Callable) Object
func CountedIndexedReduceInit ¶ added in v1.3.0
func CountedIndexedReduceInit(v CountedIndexed, c Callable, init Object) Object
func DeriveReadObject ¶
func ExtractObject ¶
func MakeReadObject ¶
func UnpackObjectOrNull ¶
func UnpackObjectOrNull(p []byte, header *PackHeader) (Object, []byte)
type ObjectInfo ¶
type ObjectInfo struct { Position // contains filtered or unexported fields }
type Ops ¶
type Ops interface { Combine(ops Ops) Ops Add(Number, Number) Number Subtract(Number, Number) Number Multiply(Number, Number) Number Divide(Number, Number) Number 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 Rem(Number, Number) Number }
type PackEnv ¶
type PackEnv struct { Strings map[*string]uint16 Bindings map[*Binding]int // contains filtered or unexported fields }
func NewPackEnv ¶
func NewPackEnv() *PackEnv
type PackHeader ¶
func UnpackHeader ¶
func UnpackHeader(p []byte, env *Env) (*PackHeader, []byte)
type ParseContext ¶
type ParseContext struct { GlobalEnv *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(other interface{}) bool
func (ParseError) Error ¶
func (err ParseError) Error() string
func (*ParseError) GetInfo ¶
func (err *ParseError) GetInfo() *ObjectInfo
func (*ParseError) GetType ¶
func (err *ParseError) GetType() *Type
func (*ParseError) Hash ¶
func (err *ParseError) Hash() uint32
func (*ParseError) Message ¶
func (err *ParseError) Message() Object
func (*ParseError) ToString ¶
func (err *ParseError) ToString(escape bool) string
func (*ParseError) WithInfo ¶
func (err *ParseError) WithInfo(info *ObjectInfo) Object
type Pending ¶
type Pending interface {
IsRealized() bool
}
func EnsureArgIsPending ¶
func EnsureObjectIsPending ¶
type Position ¶
type Position struct {
// contains filtered or unexported fields
}
func GetPosition ¶
type Proc ¶
type Proc struct { Fn ProcFn Name string Package string // "" for core (this package), else e.g. "std/string" }
func (Proc) GetInfo ¶
func (p Proc) GetInfo() *ObjectInfo
func (Proc) WithInfo ¶
func (p Proc) WithInfo(*ObjectInfo) Object
type Ratio ¶
type Ratio struct { InfoHolder Original string // contains filtered or unexported fields }
func EnsureArgIsRatio ¶
func EnsureObjectIsRatio ¶
func (*Ratio) WithInfo ¶
func (x *Ratio) WithInfo(info *ObjectInfo) Object
type ReadError ¶
type ReadError struct {
// contains filtered or unexported fields
}
func MakeReadError ¶
type Reader ¶
type Reader struct {
// contains filtered or unexported fields
}
func NewReaderFromFile ¶
type RecurBindings ¶
type RecurBindings []Object
func (RecurBindings) Equals ¶
func (rb RecurBindings) Equals(other interface{}) bool
func (RecurBindings) GetInfo ¶
func (rb RecurBindings) GetInfo() *ObjectInfo
func (RecurBindings) GetType ¶
func (rb RecurBindings) GetType() *Type
func (RecurBindings) Hash ¶
func (rb RecurBindings) Hash() uint32
func (RecurBindings) ToString ¶
func (rb RecurBindings) ToString(escape bool) string
func (RecurBindings) WithInfo ¶
func (x RecurBindings) WithInfo(info *ObjectInfo) Object
type Reduce ¶ added in v1.3.0
type Reduce interface {
// contains filtered or unexported methods
}
func EnsureArgIsReduce ¶ added in v1.3.0
func EnsureObjectIsReduce ¶ added in v1.3.0
type Regex ¶
type Regex struct { InfoHolder R *regexp.Regexp }
func EnsureArgIsRegex ¶
func EnsureObjectIsRegex ¶
func (*Regex) WithInfo ¶
func (x *Regex) WithInfo(info *ObjectInfo) Object
type RequireSort ¶
type RequireSort []Object
func (RequireSort) Len ¶
func (rs RequireSort) Len() int
func (RequireSort) Less ¶
func (rs RequireSort) Less(i, j int) bool
func (RequireSort) Swap ¶
func (rs RequireSort) Swap(i, j int)
type Reversible ¶
type Reversible interface {
Rseq() Seq
}
func EnsureArgIsReversible ¶
func EnsureArgIsReversible(args []Object, index int) Reversible
func EnsureObjectIsReversible ¶
func EnsureObjectIsReversible(obj Object, pattern string) Reversible
type RuneWindow ¶
type RuneWindow struct {
// contains filtered or unexported fields
}
type Runtime ¶
func (*Runtime) NewArgTypeError ¶
type SeqIterator ¶
type SeqIterator struct {
// contains filtered or unexported fields
}
func (*SeqIterator) HasNext ¶
func (iter *SeqIterator) HasNext() bool
func (*SeqIterator) Next ¶
func (iter *SeqIterator) Next() Object
type Seqable ¶
type Seqable interface {
Seq() Seq
}
func EnsureArgIsSeqable ¶
func EnsureObjectIsSeqable ¶
func ExtractSeqable ¶
type Sequential ¶
type Sequential interface {
// contains filtered or unexported methods
}
type SetMacroExpr ¶
type SetMacroExpr struct { Position // contains filtered or unexported fields }
func (*SetMacroExpr) Dump ¶
func (expr *SetMacroExpr) Dump(pos bool) Map
func (*SetMacroExpr) Eval ¶
func (expr *SetMacroExpr) Eval(env *LocalEnv) Object
func (*SetMacroExpr) InferType ¶
func (expr *SetMacroExpr) InferType() *Type
type SortableSlice ¶
type SortableSlice struct {
// contains filtered or unexported fields
}
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 String ¶
type String struct { InfoHolder S string }
func EnsureArgIsString ¶
func EnsureArgIsStringable ¶
func EnsureObjectIsString ¶
func MakeString ¶
func (String) WithInfo ¶
func (x String) WithInfo(info *ObjectInfo) Object
type StringPool ¶
func (StringPool) Intern ¶
func (p StringPool) Intern(s string) *string
type StringReader ¶
func EnsureArgIsStringReader ¶
func EnsureArgIsStringReader(args []Object, index int) StringReader
func EnsureObjectIsStringReader ¶
func EnsureObjectIsStringReader(obj Object, pattern string) StringReader
type Symbol ¶
type Symbol struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func EnsureArgIsSymbol ¶
func EnsureObjectIsSymbol ¶
func MakeSymbol ¶
func (Symbol) WithInfo ¶
func (x Symbol) WithInfo(info *ObjectInfo) Object
type Time ¶
type Time struct { InfoHolder T time.Time }
func EnsureArgIsTime ¶
func EnsureObjectIsTime ¶
func (Time) WithInfo ¶
func (x Time) WithInfo(info *ObjectInfo) Object
type Type ¶
type Type struct { MetaHolder // contains filtered or unexported fields }
func EnsureArgIsType ¶
func EnsureObjectIsType ¶
func RegInterface ¶
func RegRefType ¶
func (*Type) GetInfo ¶
func (t *Type) GetInfo() *ObjectInfo
func (*Type) WithInfo ¶
func (x *Type) WithInfo(info *ObjectInfo) Object
type Types ¶
type Types struct { Associative *Type Callable *Type Collection *Type Comparable *Type Comparator *Type Counted *Type CountedIndexed *Type Deref *Type Channel *Type Error *Type Gettable *Type Indexed *Type IOReader *Type IOWriter *Type KVReduce *Type Reduce *Type Map *Type Meta *Type Named *Type Number *Type Pending *Type Ref *Type Reversible *Type Seq *Type Seqable *Type Sequential *Type Set *Type Stack *Type ArrayMap *Type ArrayMapSeq *Type ArrayNodeSeq *Type ArraySeq *Type MapSet *Type Atom *Type BigFloat *Type BigInt *Type Boolean *Type Time *Type Buffer *Type Char *Type ConsSeq *Type Delay *Type Double *Type EvalError *Type ExInfo *Type Fn *Type File *Type BufferedReader *Type HashMap *Type Int *Type Keyword *Type LazySeq *Type List *Type MappingSeq *Type Namespace *Type Nil *Type NodeSeq *Type ParseError *Type Proc *Type ProcFn *Type Ratio *Type RecurBindings *Type Regex *Type String *Type Symbol *Type Type *Type Var *Type Vector *Type Vec *Type ArrayVector *Type VectorRSeq *Type VectorSeq *Type }
type Var ¶
type Var struct { InfoHolder MetaHolder Value Object // contains filtered or unexported fields }
func EnsureArgIsVar ¶
func EnsureObjectIsVar ¶
func InternFakeSymbol ¶
func (*Var) WithInfo ¶
func (x *Var) WithInfo(info *ObjectInfo) Object
type VarRefExpr ¶
type VarRefExpr struct { Position // contains filtered or unexported fields }
func MakeVarRefExpr ¶
func MakeVarRefExpr(vr *Var, obj Object) *VarRefExpr
func (*VarRefExpr) Dump ¶
func (expr *VarRefExpr) Dump(pos bool) Map
func (*VarRefExpr) Eval ¶
func (expr *VarRefExpr) Eval(env *LocalEnv) Object
func (*VarRefExpr) InferType ¶
func (expr *VarRefExpr) InferType() *Type
type Vec ¶ added in v1.3.0
type Vec interface { Object CountedIndexed Gettable Associative Sequential Comparable Indexed Stack Reversible Meta Seqable Formatter Callable }
func EnsureArgIsVec ¶ added in v1.3.0
func EnsureObjectIsVec ¶ added in v1.3.0
type Vector ¶
type Vector struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func EmptyVector ¶
func EmptyVector() *Vector
func NewVectorFrom ¶
func NewVectorFromSeq ¶
func (*Vector) Assoc ¶
func (v *Vector) Assoc(key, val Object) Associative
func (*Vector) Empty ¶
func (v *Vector) Empty() Collection
func (*Vector) EntryAt ¶
func (v *Vector) EntryAt(key Object) *ArrayVector
func (*Vector) WithInfo ¶
func (x *Vector) WithInfo(info *ObjectInfo) Object
type VectorExpr ¶
type VectorExpr struct { Position // contains filtered or unexported fields }
func (*VectorExpr) Dump ¶
func (expr *VectorExpr) Dump(pos bool) Map
func (*VectorExpr) Eval ¶
func (expr *VectorExpr) Eval(env *LocalEnv) Object
func (*VectorExpr) InferType ¶
func (expr *VectorExpr) InferType() *Type
type VectorRSeq ¶
type VectorRSeq struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func (*VectorRSeq) Cons ¶
func (seq *VectorRSeq) Cons(obj Object) Seq
func (*VectorRSeq) Equals ¶
func (seq *VectorRSeq) Equals(other interface{}) bool
func (*VectorRSeq) First ¶
func (seq *VectorRSeq) First() Object
func (*VectorRSeq) GetType ¶
func (seq *VectorRSeq) GetType() *Type
func (*VectorRSeq) Hash ¶
func (seq *VectorRSeq) Hash() uint32
func (*VectorRSeq) IsEmpty ¶
func (seq *VectorRSeq) IsEmpty() bool
func (*VectorRSeq) Rest ¶
func (seq *VectorRSeq) Rest() Seq
func (*VectorRSeq) Seq ¶
func (seq *VectorRSeq) Seq() Seq
func (*VectorRSeq) ToString ¶
func (seq *VectorRSeq) ToString(escape bool) string
func (*VectorRSeq) WithInfo ¶
func (x *VectorRSeq) WithInfo(info *ObjectInfo) Object
func (*VectorRSeq) WithMeta ¶
func (seq *VectorRSeq) WithMeta(meta Map) Object
type VectorSeq ¶
type VectorSeq struct { InfoHolder MetaHolder // contains filtered or unexported fields }
func (*VectorSeq) WithInfo ¶
func (x *VectorSeq) WithInfo(info *ObjectInfo) Object
Source Files ¶
- array_map.go
- array_vector.go
- buffer.go
- buffered_reader.go
- channel.go
- common.go
- data.go
- deps.go
- environment.go
- environment_fast_init.go
- eval.go
- expr.go
- file.go
- format.go
- hash_map.go
- intern.go
- io_reader.go
- io_writer.go
- line_runereader.go
- list.go
- map.go
- ns.go
- numbers.go
- object.go
- pack.go
- parse.go
- procs.go
- read.go
- reader.go
- rune_window.go
- seq.go
- set.go
- spew_disabled.go
- stringable.go
- types_assert_gen.go
- types_info_gen.go
- vector.go