types

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2023 License: MPL-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var None = NoneType{}

Functions

func ForEach

func ForEach(it Iterable, action func(Object) bool)

If the action func return false that break the loop.

Types

type Appliable

type Appliable interface {
	Object
	Apply(Environment, Iterable) Object
}

type BaseEnvironment

type BaseEnvironment struct {
	NoneType
	// contains filtered or unexported fields
}

func MakeBaseEnvironment

func MakeBaseEnvironment() BaseEnvironment

func (BaseEnvironment) CopyTo

func (b BaseEnvironment) CopyTo(other Environment)

func (BaseEnvironment) Delete

func (b BaseEnvironment) Delete(key Object)

func (BaseEnvironment) DeleteStr

func (b BaseEnvironment) DeleteStr(key string)

func (BaseEnvironment) Iter

func (b BaseEnvironment) Iter() Iterator

func (BaseEnvironment) Load

func (b BaseEnvironment) Load(key Object) Object

func (BaseEnvironment) LoadStr

func (b BaseEnvironment) LoadStr(key string) (Object, bool)

func (BaseEnvironment) Size

func (b BaseEnvironment) Size() int

func (BaseEnvironment) Store

func (b BaseEnvironment) Store(key Object, value Object)

func (BaseEnvironment) StoreStr

func (b BaseEnvironment) StoreStr(key string, value Object)

type Boolean

type Boolean bool

func (Boolean) Eval

func (b Boolean) Eval(env Environment) Object

func (Boolean) Render

func (b Boolean) Render(w io.Writer) error

type Environment

type Environment interface {
	Object
	Storable
	Delete(Object)
	StringLoadable
	StoreStr(string, Object)
	DeleteStr(string)
	CopyTo(Environment)
}

type Float

type Float float64

func (Float) Eval

func (f Float) Eval(env Environment) Object

func (Float) Render

func (f Float) Render(w io.Writer) error

type Identifier

type Identifier string

func (Identifier) Eval

func (i Identifier) Eval(env Environment) Object

func (Identifier) Render

func (i Identifier) Render(w io.Writer) error

type Integer

type Integer int64

func (Integer) Eval

func (i Integer) Eval(env Environment) Object

func (Integer) Render

func (i Integer) Render(w io.Writer) error

type Iterable

type Iterable interface {
	Object
	Iter() Iterator
}

type Iterator

type Iterator interface {
	Iterable
	Next() (Object, bool)
	Close()
}

type List

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

func NewList

func NewList(objects ...Object) *List

func (*List) Add

func (l *List) Add(value Object)

func (*List) AddAll

func (l *List) AddAll(it Iterable) *List

func (*List) Eval

func (l *List) Eval(env Environment) Object

func (*List) Iter

func (l *List) Iter() Iterator

No panic with nil receiver

func (*List) Load

func (l *List) Load(key Object) Object

No panic with nil receiver

func (*List) LoadInt

func (l *List) LoadInt(index int) Object

No panic with nil receiver

func (*List) Render

func (l *List) Render(w io.Writer) error

func (*List) Size

func (l *List) Size() int

func (*List) Store

func (l *List) Store(key Object, value Object)

No panic with nil receiver

type Loadable

type Loadable interface {
	Load(Object) Object
}

type LocalEnvironment

type LocalEnvironment struct {
	BaseEnvironment
	// contains filtered or unexported fields
}

func MakeLocalEnvironment

func MakeLocalEnvironment(env Environment) LocalEnvironment

func (LocalEnvironment) Load

func (l LocalEnvironment) Load(key Object) Object

func (LocalEnvironment) LoadStr

func (l LocalEnvironment) LoadStr(key string) (Object, bool)

type NativeAppliable

type NativeAppliable struct {
	NoneType
	// contains filtered or unexported fields
}

func MakeNativeAppliable

func MakeNativeAppliable(f func(Environment, Iterator) Object) NativeAppliable

func (NativeAppliable) Apply

func (n NativeAppliable) Apply(env Environment, it Iterable) Object

type NoneType

type NoneType struct{}

func (NoneType) Eval

func (n NoneType) Eval(env Environment) Object

func (NoneType) Render

func (n NoneType) Render(w io.Writer) error

type Object

type Object interface {
	Renderer
	Eval(Environment) Object
}

func Load

func Load(env StringLoadable, key Object) Object

type Renderer

type Renderer interface {
	Render(io.Writer) error
}

type Rune

type Rune rune

func (Rune) Eval

func (r Rune) Eval(env Environment) Object

func (Rune) Render

func (r Rune) Render(w io.Writer) error

type Sizable

type Sizable interface {
	Size() int
}

type Storable

type Storable interface {
	Loadable
	Store(Object, Object)
}

type String

type String string

func (String) Eval

func (s String) Eval(env Environment) Object

func (String) Load

func (s String) Load(key Object) Object

func (String) LoadInt

func (s String) LoadInt(index int) Object

func (String) Render

func (s String) Render(w io.Writer) error

func (String) Size

func (s String) Size() int

type StringLoadable

type StringLoadable interface {
	LoadStr(string) (Object, bool)
}

Jump to

Keyboard shortcuts

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