Versions in this module Expand all Collapse all v0 v0.2.0 May 31, 2023 Changes in this version + const False + const FalseString + const MappedFactorySize + const RootEnvironmentSize + const True + const TrueString + var ErrZeroNotAllowed = errors.New("number zero not allowed") + func IsFalse(obj Object) bool + func IsList(obj Object) bool + func IsNil(obj Object) bool + func IsPair(obj Object) bool + func IsTrue(obj Object) bool + func IsUndefined(obj Object) bool + func NumCmp(x, y Number) int + func Print(w io.Writer, obj Object) (int, error) + func Repr(obj Object) string + func WriteStrings(w io.Writer, sl ...string) (int, error) + type Boolean bool + func GetBoolean(obj Object) (Boolean, bool) + func MakeBoolean(b bool) Boolean + func Negate(obj Object) Boolean + func (Boolean) IsAtom() bool + func (Boolean) IsNil() bool + func (b Boolean) IsEql(other Object) bool + func (b Boolean) IsEqual(other Object) bool + func (b Boolean) Negate() Boolean + func (b Boolean) Repr() string + func (b Boolean) String() string + type Environment interface + Bind func(*Symbol, Object) error + Bindings func() *List + Freeze func() + Lookup func(*Symbol) (Object, bool) + Parent func() Environment + String func() string + Unbind func(*Symbol) error + func GetEnvironment(obj Object) (Environment, bool) + func MakeChildEnvironment(parent Environment, name string, baseSize int) Environment + func MakeRootEnvironment() Environment + func RootEnv(env Environment) Environment + type ErrEnvFrozen struct + Env Environment + func (err ErrEnvFrozen) Error() string + type ErrImproper struct + Lst *List + func (err ErrImproper) Error() string + type Int64 int64 + func (Int64) IsAtom() bool + func (i Int64) IsEql(other Object) bool + func (i Int64) IsEqual(other Object) bool + func (i Int64) IsNil() bool + func (i Int64) IsZero() bool + func (i Int64) Repr() string + func (i Int64) String() string + type Keyword string + func GetKeyword(obj Object) (Keyword, bool) + func (Keyword) IsAtom() bool + func (Keyword) IsNil() bool + func (kw Keyword) IsEql(other Object) bool + func (kw Keyword) IsEqual(other Object) bool + func (kw Keyword) Print(w io.Writer) (int, error) + func (kw Keyword) Repr() string + func (kw Keyword) String() string + type List struct + func AllBindings(env Environment) *List + func Cons(car, cdr Object) *List + func GetList(obj Object) (*List, bool) + func MakeList(objs ...Object) *List + func Nil() *List + func (cdr *List) Cons(car Object) *List + func (lst *List) AppendBang(obj Object) *List + func (lst *List) Assoc(obj Object) *List + func (lst *List) Car() Object + func (lst *List) Cdr() Object + func (lst *List) ExtendBang(obj *List) *List + func (lst *List) Head() *List + func (lst *List) IsAtom() bool + func (lst *List) IsEql(other Object) bool + func (lst *List) IsEqual(other Object) bool + func (lst *List) IsNil() bool + func (lst *List) Last() (Object, error) + func (lst *List) LastPair() *List + func (lst *List) Length() int + func (lst *List) Print(w io.Writer) (int, error) + func (lst *List) Repr() string + func (lst *List) Reverse() (*List, error) + func (lst *List) SetCdr(obj Object) + func (lst *List) String() string + func (lst *List) Tail() *List + type Number interface + IsZero func() bool + func GetNumber(obj Object) (Number, bool) + func NumAdd(x, y Number) Number + func NumDiv(x, y Number) (Number, error) + func NumMod(x, y Number) (Number, error) + func NumMul(x, y Number) Number + func NumNeg(x Number) Number + func NumSub(x, y Number) Number + func ParseInteger(s string) (Number, error) + type Object interface + IsAtom func() bool + IsEql func(Object) bool + IsEqual func(Object) bool + IsNil func() bool + Repr func() string + func Resolve(env Environment, sym *Symbol) (Object, bool) + type Printable interface + Print func(io.Writer) (int, error) + type String string + func GetString(obj Object) (String, bool) + func MakeString(s string) String + func (String) IsAtom() bool + func (String) IsNil() bool + func (s String) IsEql(other Object) bool + func (s String) IsEqual(other Object) bool + func (s String) Print(w io.Writer) (int, error) + func (s String) Repr() string + func (s String) String() string + type Symbol struct + func GetSymbol(obj Object) (*Symbol, bool) + func (sy *Symbol) Assoc(key Object) *List + func (sy *Symbol) Cons(key, obj Object) *List + func (sy *Symbol) Factory() SymbolFactory + func (sy *Symbol) IsAtom() bool + func (sy *Symbol) IsEql(other Object) bool + func (sy *Symbol) IsEqual(other Object) bool + func (sy *Symbol) IsNil() bool + func (sy *Symbol) Name() string + func (sy *Symbol) Repr() string + func (sy *Symbol) String() string + type SymbolFactory interface + IsValidName func(string) bool + Make func(string) (*Symbol, error) + MustMake func(string) *Symbol + ReprSymbol func(*Symbol) string + Symbols func() []*Symbol + func FindSymbolFactory(obj Object) SymbolFactory + func MakeMappedFactory() SymbolFactory + type Undefined struct + func MakeUndefined() Undefined + func (Undefined) IsAtom() bool + func (Undefined) IsNil() bool + func (kw Undefined) IsEql(other Object) bool + func (udef Undefined) IsEqual(other Object) bool + func (udef Undefined) Print(w io.Writer) (int, error) + func (udef Undefined) Repr() string + func (udef Undefined) String() string