data

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 20, 2023 License: MIT Imports: 20 Imported by: 1

Documentation

Overview

Package data provides basic interfaces, primitives and data structures

Index

Constants

View Source
const (
	// ErrFixedArity is raised when there are too few or many arguments
	// provided to a fixed ArityChecker
	ErrFixedArity = "expected %d arguments, got %d"

	// ErrMinimumArity is raised when there are too few arguments provided to a
	// minimum ArityChecker
	ErrMinimumArity = "expected at least %d arguments, got %d"

	// ErrRangedArity is raised when there are too few or many arguments
	// provided to a ranged ArityChecker
	ErrRangedArity = "expected between %d and %d arguments, got %d"

	// ErrTooManyArguments is raised when there are too many arguments provided
	// to a maximum ArityChecker
	ErrTooManyArguments = "too many arity check arguments"
)
View Source
const (
	CountKey    = Keyword("count")
	HashKey     = Keyword("hash")
	InstanceKey = Keyword("instance")
	NameKey     = Keyword("name")
	TypeKey     = Keyword("type")
)

Standard Keys

View Source
const (
	// ErrExpectedInteger is raised when the value provided to ParseInteger
	// can't be interpreted as an integer
	ErrExpectedInteger = "value is not an integer: %s"

	// ErrDivideByZero is raised when an attempt is made to perform integer
	// division by zero
	ErrDivideByZero = "divide by zero"
)
View Source
const (
	// ErrExpectedFloat is raised when a call to ParseFloat can't properly
	// interpret its input as a floating point number
	ErrExpectedFloat = "value is not a float: %s"

	// ErrExpectedRatio is raised when a call to ParseRatio can't properly
	// interpret its input as a ratio
	ErrExpectedRatio = "value is not a ratio: %s"
)
View Source
const (
	// ErrInvalidStartIndex is raised when an attempt to take a substring of a
	// String would result in a start index outside the String's actual range
	ErrInvalidStartIndex = "starting index is out of range: %d"

	// ErrInvalidEndIndex is raised when an attempt to take a substring of a
	// String would result in an end index beyond the String's actual range
	ErrInvalidEndIndex = "ending index is out of range: %d"

	// ErrEndIndexTooLow is raised when an attempt to take a substring of a
	// String specifies an ending index that is lower than the starting index
	ErrEndIndexTooLow = "ending index is lower than starting index: %d < %d"
)
View Source
const (
	// DomainSeparator is the character used to separate a domain from
	// the local component of a qualified symbol
	DomainSeparator = '/'

	SymbolGenDigits = decimal + lower + upper + "-+"
)
View Source
const (
	// True represents the boolean value of True
	True Bool = true

	// TrueLiteral represents the literal value of True
	TrueLiteral = "#t"

	// False represents the boolean value of false
	False Bool = false

	// FalseLiteral represents the literal value of False
	FalseLiteral = "#f"
)
View Source
const EmptyString = String("")

EmptyString represents the... empty string

View Source
const ErrInvalidSymbol = "invalid symbol: %s"

ErrInvalidSymbol is raised when a call to ParseSymbol can't interpret its input as a proper Symbol name (local or qualified)

View Source
const ErrMapNotPaired = "map does not contain an even number of elements"

ErrMapNotPaired is raised when a call to ValuesToObject receives an odd number of args, meaning it won't be capable of zipping them into an Object

View Source
const OrMore = -1

OrMore is the constant used when you want to tell MakeChecker to generate a minimum arity checker

Variables

View Source
var (
	EmptyVector = Vector{}
)

EmptyVector represents an empty Vector

Functions

func AnyArityChecker

func AnyArityChecker(int) error

AnyArityChecker allows for any number of arguments

func AssertFixed

func AssertFixed(fixed, count int) int

AssertFixed explodes if a fixed arity check fails

func AssertMinimum

func AssertMinimum(min, count int) int

AssertMinimum explodes if a fixed arity check fails

func AssertRanged

func AssertRanged(min, max, count int) int

AssertRanged explodes if a fixed arity check fails

func DumpString

func DumpString(v Value) string

DumpString takes a Value and dumps out a bunch of info as a string

func Equal

func Equal(l, r Value) bool

func HashBytes

func HashBytes(b []byte) uint64

HashBytes returns a hash code for the provided byte slice

func HashCode

func HashCode(v Value) uint64

HashCode returns a hash code for the provided Value. If the Value implements the Hashed interface, it will call us the HashCode() method. Otherwise, it will create a hash code from the stringified form of the Value

func HashInt

func HashInt(i int) uint64

HashInt returns a hash code for the provided int

func HashInt64

func HashInt64(i int64) uint64

HashInt64 returns a hash code for the provided int64

func HashString

func HashString(s string) uint64

HashString returns a hash code for the provided string

func MakeSequenceStr

func MakeSequenceStr(s Sequence) string

MakeSequenceStr converts a Sequence to a String

func ToQuotedString

func ToQuotedString(v Value) string

ToQuotedString converts Values to string, possibly quoting wrapped Strings

func ToString

func ToString(v Value) string

Types

type Appender

type Appender interface {
	Sequence
	Append(Value) Sequence
}

Appender is a Sequence that can be appended to

type ArityChecker

type ArityChecker func(int) error

ArityChecker is the interface for arity checks

func MakeChecker

func MakeChecker(arity ...int) ArityChecker

MakeChecker produces an arity checker based on its parameters

func MakeFixedChecker

func MakeFixedChecker(fixed int) ArityChecker

MakeFixedChecker generates a fixed arity checker

func MakeMinimumChecker

func MakeMinimumChecker(min int) ArityChecker

MakeMinimumChecker generates a minimum arity checker

func MakeRangedChecker

func MakeRangedChecker(min, max int) ArityChecker

MakeRangedChecker generates a ranged arity checker

type BigInt

type BigInt big.Int

BigInt represents a multi-precision integer

func (*BigInt) Add

func (l *BigInt) Add(r Number) Number

Add adds this BigInt to another Number

func (*BigInt) Cmp

func (l *BigInt) Cmp(r Number) Comparison

Cmp compares this BigInt to another Number

func (*BigInt) Div

func (l *BigInt) Div(r Number) Number

Div divides this BigInt by another Number

func (*BigInt) Equal

func (l *BigInt) Equal(r Value) bool

Equal compares this BigInt to another for equality

func (*BigInt) HashCode

func (l *BigInt) HashCode() uint64

HashCode returns a hash code for this BigInt

func (*BigInt) IsNaN

func (*BigInt) IsNaN() bool

IsNaN tells you that this BigInt is, in fact, a Number

func (*BigInt) IsNegInf

func (*BigInt) IsNegInf() bool

IsNegInf tells you that this BigInt is not negative infinity

func (*BigInt) IsPosInf

func (*BigInt) IsPosInf() bool

IsPosInf tells you that this BigInt is not positive infinity

func (*BigInt) Mod

func (l *BigInt) Mod(r Number) Number

Mod calculates the remainder of dividing this BigInt by another Number

func (*BigInt) Mul

func (l *BigInt) Mul(r Number) Number

Mul multiples this BigInt by another Number

func (*BigInt) String

func (l *BigInt) String() string

String converts this BigInt to a string

func (*BigInt) Sub

func (l *BigInt) Sub(r Number) Number

Sub subtracts another Number from this BigInt

func (*BigInt) Type

func (*BigInt) Type() types.Type

Type returns the Type for this BigInt Value

type Bool

type Bool bool

Bool represents the values True or False

func (Bool) Equal

func (b Bool) Equal(v Value) bool

Equal compares this Bool to another for equality

func (Bool) HashCode

func (b Bool) HashCode() uint64

HashCode returns the hash code for this Bool

func (Bool) String

func (b Bool) String() string

String converts this Value into a string

func (Bool) Type

func (Bool) Type() types.Type

Type returns the Type for this Bool Value

type Call

type Call func(...Value) Value

Call is the type of function that can be turned into a Procedure

type Caller

type Caller interface {
	Call(...Value) Value
	CheckArity(int) error
}

Caller provides the necessary methods for performing a runtime call

type Comparison

type Comparison int

Comparison represents the result of an equality comparison

const (
	LessThan Comparison = iota - 1
	EqualTo
	GreaterThan
	Incomparable
)

Comparison results

type Cons

type Cons struct {
	// contains filtered or unexported fields
}

Cons cells are the standard implementation of a Pair. Unlike other Pairs (ex: List, Vector), it is not treated as a Sequence

func NewCons

func NewCons(car, cdr Value) *Cons

NewCons returns a new Cons cell instance

func (*Cons) Car

func (c *Cons) Car() Value

Car returns the first element of a Pair

func (*Cons) Cdr

func (c *Cons) Cdr() Value

Cdr returns the second element of a Pair

func (*Cons) Equal

func (c *Cons) Equal(v Value) bool

Equal compares this Cons to another for equality

func (*Cons) HashCode

func (c *Cons) HashCode() uint64

HashCode returns the hash code for this Cons

func (*Cons) String

func (c *Cons) String() string

func (*Cons) Type

func (*Cons) Type() types.Type

type Counted

type Counted interface {
	Count() Integer
}

Counted interfaces allow a Value to return a count of its items

type CountedSequence

type CountedSequence interface {
	Sequence
	Counted
}

CountedSequence is a Sequence that returns a count of its items

type Float

type Float float64

Float represents a 64-bit floating point number

func (Float) Add

func (l Float) Add(r Number) Number

Add adds this Float to another Number

func (Float) Cmp

func (l Float) Cmp(r Number) Comparison

Cmp compares this Float to another Number

func (Float) Div

func (l Float) Div(r Number) Number

Div divides this Float by another Number

func (Float) Equal

func (l Float) Equal(r Value) bool

Equal compares this Float to another for equality

func (Float) HashCode

func (l Float) HashCode() uint64

HashCode returns a hash code for this Float

func (Float) IsNaN

func (l Float) IsNaN() bool

IsNaN returns whether this Float is not a number

func (Float) IsNegInf

func (l Float) IsNegInf() bool

IsNegInf returns whether this Float represents negative infinity

func (Float) IsPosInf

func (l Float) IsPosInf() bool

IsPosInf returns whether this Float represents positive infinity

func (Float) Mod

func (l Float) Mod(r Number) Number

Mod calculates the remainder of dividing this Float by another Number

func (Float) Mul

func (l Float) Mul(r Number) Number

Mul multiplies this Float by another Number

func (Float) String

func (l Float) String() string

String converts this Float to a string

func (Float) Sub

func (l Float) Sub(r Number) Number

Sub subtracts another Number from this Float

func (Float) Type

func (Float) Type() types.Type

Type returns the Type for this Float Value

type Hashed

type Hashed interface {
	HashCode() uint64
}

Hashed can return a hash code for the value

type Indexed

type Indexed interface {
	ElementAt(Integer) (Value, bool)
}

Indexed is the interface for values that have indexed elements

type IndexedSequence

type IndexedSequence interface {
	Sequence
	Indexed
}

IndexedSequence is a Sequence that has indexed elements

type Integer

type Integer int64

Integer represents a 64-bit integer

func (Integer) Add

func (l Integer) Add(r Number) Number

Add adds this Integer to another Number

func (Integer) Cmp

func (l Integer) Cmp(r Number) Comparison

Cmp compares this Integer to another Number

func (Integer) Div

func (l Integer) Div(r Number) Number

Div divides this Integer by another Number

func (Integer) Equal

func (l Integer) Equal(r Value) bool

Equal compares this Integer to another for equality

func (Integer) HashCode

func (l Integer) HashCode() uint64

HashCode returns a hash code for this Integer

func (Integer) IsNaN

func (Integer) IsNaN() bool

IsNaN tells you that this Integer is, in fact, a Number

func (Integer) IsNegInf

func (Integer) IsNegInf() bool

IsNegInf tells you that this Integer is not negative infinity

func (Integer) IsPosInf

func (Integer) IsPosInf() bool

IsPosInf tells you that this Integer is not positive infinity

func (Integer) Mod

func (l Integer) Mod(r Number) Number

Mod calculates the remainder of dividing this Integer by another Number

func (Integer) Mul

func (l Integer) Mul(r Number) Number

Mul multiples this Integer by another Number

func (Integer) String

func (l Integer) String() string

String converts this Integer to a string

func (Integer) Sub

func (l Integer) Sub(r Number) Number

Sub subtracts another Number from this Integer

func (Integer) Type

func (Integer) Type() types.Type

Type returns the Type for this Integer Value

type Keyword

type Keyword string

Keyword is a Value that represents a Name that resolves to itself

func (Keyword) Call

func (k Keyword) Call(args ...Value) Value

Call turns Keyword into a Caller

func (Keyword) CheckArity

func (k Keyword) CheckArity(argCount int) error

CheckArity performs a compile-time arity check for the Keyword

func (Keyword) Equal

func (k Keyword) Equal(v Value) bool

Equal compares this Keyword to another for equality

func (Keyword) HashCode

func (k Keyword) HashCode() uint64

HashCode returns the hash code for this Keyword

func (Keyword) Name

func (k Keyword) Name() Local

Name returns the name of the Keyword

func (Keyword) String

func (k Keyword) String() string

String converts Keyword into a string

func (Keyword) Type

func (Keyword) Type() types.Type

Type returns the Type for this Keyword Value

type List

type List struct {
	// contains filtered or unexported fields
}

A List represents a singly linked List

var (
	// Null represents the absence of a Value (the empty List)
	Null *List
)

func NewList

func NewList(v ...Value) *List

NewList creates a new List instance

func (*List) Call

func (l *List) Call(args ...Value) Value

func (*List) Car

func (l *List) Car() Value

func (*List) Cdr

func (l *List) Cdr() Value

func (*List) CheckArity

func (l *List) CheckArity(argCount int) error

func (*List) Count

func (l *List) Count() Integer

func (*List) ElementAt

func (l *List) ElementAt(index Integer) (Value, bool)

func (*List) Equal

func (l *List) Equal(other Value) bool

func (*List) HashCode

func (l *List) HashCode() uint64

func (*List) IsEmpty

func (l *List) IsEmpty() bool

func (*List) Prepend

func (l *List) Prepend(v Value) Sequence

func (*List) Reverse

func (l *List) Reverse() Sequence

func (*List) Split

func (l *List) Split() (Value, Sequence, bool)

func (*List) String

func (l *List) String() string

func (*List) Type

func (l *List) Type() types.Type

type Local

type Local string

Local represents an unqualified symbol that requires resolution

func (Local) Equal

func (l Local) Equal(v Value) bool

func (Local) HashCode

func (l Local) HashCode() uint64

func (Local) Name

func (l Local) Name() Local

func (Local) String

func (l Local) String() string

func (Local) Type

func (Local) Type() types.Type

type Locals

type Locals []Local

Locals represents a set of Local

func (Locals) Sorted

func (n Locals) Sorted() Locals

Sorted returns a sorted set of Locals

type Mapped

type Mapped interface {
	Get(Value) (Value, bool)
}

Mapped is the interface for Values that have accessible properties

func DumpMapped

func DumpMapped(v Value) Mapped

DumpMapped takes a Value and dumps out a bunch of info as a Mapped

type Mapper

type Mapper interface {
	Sequence
	Mapped
	Put(Pair) Sequence
	Remove(Value) (Value, Sequence, bool)
}

Mapper is a Sequence that provides a mutable Mapped interface

type Named

type Named interface {
	Name() Local
}

Named is the generic interface for values that are named

type Number

type Number interface {
	Value
	Typed
	Cmp(Number) Comparison
	Add(Number) Number
	Sub(Number) Number
	Mul(Number) Number
	Div(Number) Number
	Mod(Number) Number
	IsNaN() bool
	IsPosInf() bool
	IsNegInf() bool
}

Number describes a numeric value of some kind

func MustParseFloat

func MustParseFloat(s string) Number

MustParseFloat forcefully parses a string representing a float

func MustParseInteger

func MustParseInteger(s string) Number

MustParseInteger forcefully parse a string representing an integer

func MustParseRatio

func MustParseRatio(s string) Number

MustParseRatio forcefully parses a string representing a ratio

func ParseFloat

func ParseFloat(s string) (Number, error)

ParseFloat attempts to parse a string representing a float

func ParseInteger

func ParseInteger(s string) (Number, error)

ParseInteger attempts to parse a string representing an integer

func ParseRatio

func ParseRatio(s string) (Number, error)

ParseRatio attempts to parse a string representing a ratio

type Object

type Object struct {
	// contains filtered or unexported fields
}

Object maps a set of Values, known as keys, to another set of Values

var (
	EmptyObject *Object
)

EmptyObject represents an empty Object

func NewObject

func NewObject(pairs ...Pair) *Object

NewObject instantiates a new Object instance. Based on Phil Bagwell's Hashed Array Mapped Trie data structure, though not as space efficient. More information on HAMT's can be found at:

http://lampwww.epfl.ch/papers/idealhashtrees.pdf

func ValuesToObject

func ValuesToObject(v ...Value) (*Object, error)

ValuesToObject interprets a set of Values as an Object

func (*Object) Call

func (o *Object) Call(args ...Value) Value

func (*Object) Car

func (o *Object) Car() Value

func (*Object) Cdr

func (o *Object) Cdr() Value

func (*Object) CheckArity

func (o *Object) CheckArity(argCount int) error

func (*Object) Count

func (o *Object) Count() Integer

func (*Object) Equal

func (o *Object) Equal(other Value) bool

func (*Object) Get

func (o *Object) Get(k Value) (Value, bool)

func (*Object) HashCode

func (o *Object) HashCode() uint64

func (*Object) IsEmpty

func (o *Object) IsEmpty() bool

func (*Object) Pairs

func (o *Object) Pairs() Pairs

func (*Object) Put

func (o *Object) Put(p Pair) Sequence

func (*Object) Remove

func (o *Object) Remove(k Value) (Value, Sequence, bool)

func (*Object) Split

func (o *Object) Split() (Value, Sequence, bool)

func (*Object) String

func (o *Object) String() string

func (*Object) Type

func (*Object) Type() types.Type

type Pair

type Pair interface {
	Value
	Car() Value
	Cdr() Value
}

Pair represents the interface for a binary structure, such as a Cons

type Pairs

type Pairs []Pair

Pairs represents multiple pairs

type Prepender

type Prepender interface {
	Sequence
	Prepend(Value) Sequence
}

Prepender is a Sequence that can be prepended to

type Procedure

type Procedure interface {
	Value
	Caller
}

Procedure is a Value that provides a Caller interface

func MakeProcedure

func MakeProcedure(c Call, arity ...int) Procedure

MakeProcedure constructs a Procedure from a func that matches the standard calling signature

type Qualified

type Qualified interface {
	Symbol
	Domain() Local
}

Qualified represents a domain-qualified symbol

type RandomAccess

type RandomAccess interface {
	Sequence
	Indexed
	Counted
}

RandomAccess provides a Sequence that supports random access

type Ratio

type Ratio big.Rat

Ratio represents a number having a numerator and denominator

func (*Ratio) Add

func (l *Ratio) Add(r Number) Number

Add adds this Ratio to another Number

func (*Ratio) Cmp

func (l *Ratio) Cmp(r Number) Comparison

Cmp compares this Ratio to another Number

func (*Ratio) Div

func (l *Ratio) Div(r Number) Number

Div divides this Ratio by another Number

func (*Ratio) Equal

func (l *Ratio) Equal(r Value) bool

Equal compares this Ratio to another for equality

func (*Ratio) HashCode

func (l *Ratio) HashCode() uint64

HashCode returns a hash code for this Ratio

func (*Ratio) IsNaN

func (*Ratio) IsNaN() bool

IsNaN returns whether this Ratio is not a number

func (*Ratio) IsNegInf

func (*Ratio) IsNegInf() bool

IsNegInf returns whether this Ratio represents negative infinity

func (*Ratio) IsPosInf

func (*Ratio) IsPosInf() bool

IsPosInf returns whether this Ratio represents positive infinity

func (*Ratio) Mod

func (l *Ratio) Mod(r Number) Number

Mod calculates the remainder of dividing this Ratio by another Number

func (*Ratio) Mul

func (l *Ratio) Mul(r Number) Number

Mul multiplies this Ratio by another Number

func (*Ratio) String

func (l *Ratio) String() string

String converts this Ratio to a string

func (*Ratio) Sub

func (l *Ratio) Sub(r Number) Number

Sub subtracts another Number from this Ratio

func (*Ratio) Type

func (*Ratio) Type() types.Type

Type returns the Type for this Ratio Value

type Reverser

type Reverser interface {
	Sequence
	Reverse() Sequence
}

Reverser is a Sequence than can be reversed

type Sequence

type Sequence interface {
	Pair
	Split() (Value, Sequence, bool)
	IsEmpty() bool
}

Sequence interfaces expose a lazily resolved sequence

type String

type String string

String is the Sequence-compatible representation of string values

func (String) Call

func (s String) Call(args ...Value) Value

func (String) Car

func (s String) Car() Value

Car returns the first character of the String

func (String) Cdr

func (s String) Cdr() Value

Cdr returns a String of all characters after the first

func (String) CheckArity

func (s String) CheckArity(argCount int) error

func (String) Count

func (s String) Count() Integer

Count returns the length of the String

func (String) ElementAt

func (s String) ElementAt(index Integer) (Value, bool)

ElementAt returns the Character at the indexed position in the String

func (String) Equal

func (s String) Equal(v Value) bool

Equal compares this String to another for equality

func (String) HashCode

func (s String) HashCode() uint64

HashCode returns a hash code for the String

func (String) IsEmpty

func (s String) IsEmpty() bool

IsEmpty returns whether this sequence is empty

func (String) Quote

func (s String) Quote() string

Quote quotes and escapes a string

func (String) Reverse

func (s String) Reverse() Sequence

func (String) Split

func (s String) Split() (Value, Sequence, bool)

Split returns the split form (First and Rest) of the Sequence

func (String) String

func (s String) String() string

String converts this Value into a string

func (String) Type

func (String) Type() types.Type

Type returns the Type for this String Value

type Symbol

type Symbol interface {
	Typed
	Value
	Named
	// contains filtered or unexported methods
}

Symbol is an identifier that can be resolved

func MustParseSymbol

func MustParseSymbol(s String) Symbol

MustParseSymbol parses a qualified Name and produces a Symbol or explodes

func NewGeneratedSymbol

func NewGeneratedSymbol(name Local) Symbol

NewGeneratedSymbol creates a generated Symbol

func NewQualifiedSymbol

func NewQualifiedSymbol(name Local, domain Local) Symbol

NewQualifiedSymbol returns a Qualified Symbol for a specific domain

func ParseSymbol

func ParseSymbol(s String) (Symbol, error)

ParseSymbol parses a qualified Name and produces a Symbol

type SymbolGenerator

type SymbolGenerator struct {
	sync.Mutex
	// contains filtered or unexported fields
}

SymbolGenerator produces instance-unique local symbols

func NewSymbolGenerator

func NewSymbolGenerator() *SymbolGenerator

NewSymbolGenerator creates a new symbol generator. In general, it is safe to use the global generator because it only maintains an incrementer

func (*SymbolGenerator) Local

func (g *SymbolGenerator) Local(name Local) Local

Local returns a newly generated local symbol

func (*SymbolGenerator) Prefix

func (g *SymbolGenerator) Prefix() string

type TypePredicate

type TypePredicate struct {
	// contains filtered or unexported fields
}

func MakeTypePredicate

func MakeTypePredicate(t types.Type) *TypePredicate

MakeTypePredicate returns a TypePredicate for the given Type

func TypePredicateOf

func TypePredicateOf(f Value, r ...Value) *TypePredicate

TypePredicateOf returns a TypePredicate for the Types of the given Values. If more than one Value is provided, the Union of their Types will be returned

func (*TypePredicate) Call

func (t *TypePredicate) Call(args ...Value) Value

func (*TypePredicate) CheckArity

func (t *TypePredicate) CheckArity(argCount int) error

func (*TypePredicate) Equal

func (t *TypePredicate) Equal(other Value) bool

func (*TypePredicate) Get

func (t *TypePredicate) Get(key Value) (Value, bool)

func (*TypePredicate) Name

func (t *TypePredicate) Name() Local

func (*TypePredicate) Type

func (t *TypePredicate) Type() types.Type

type Typed

type Typed interface {
	Type() types.Type
}

Typed is the generic interface for values that are typed

type Value

type Value interface {
	Equal(Value) bool
}

Value is the generic interface for all values

func Last

func Last(s Sequence) (Value, bool)

Last returns the final element of a Sequence, possibly by scanning

type Vector

type Vector []Value

Vector is a fixed-length array of Values

func NewVector

func NewVector(v ...Value) Vector

NewVector creates a new Vector instance

func (Vector) Append

func (v Vector) Append(e Value) Sequence

func (Vector) Call

func (v Vector) Call(args ...Value) Value

func (Vector) Car

func (v Vector) Car() Value

func (Vector) Cdr

func (v Vector) Cdr() Value

func (Vector) CheckArity

func (v Vector) CheckArity(argCount int) error

func (Vector) Count

func (v Vector) Count() Integer

func (Vector) ElementAt

func (v Vector) ElementAt(index Integer) (Value, bool)

func (Vector) Equal

func (v Vector) Equal(other Value) bool

func (Vector) HashCode

func (v Vector) HashCode() uint64

func (Vector) IsEmpty

func (v Vector) IsEmpty() bool

func (Vector) Prepend

func (v Vector) Prepend(e Value) Sequence

func (Vector) Reverse

func (v Vector) Reverse() Sequence

func (Vector) Split

func (v Vector) Split() (Value, Sequence, bool)

func (Vector) String

func (v Vector) String() string

func (Vector) Type

func (Vector) Type() types.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL