Versions in this module Expand all Collapse all v1 v1.0.0 Jun 5, 2021 v0 v0.2.3 Jun 5, 2021 v0.2.2 Jun 4, 2021 Changes in this version + func EvalSource(source string) ([]string, error) + func EvalSourceIO(source string, env *Env) error + type Env struct + func InitState() *Env + func (env *Env) Eval(nodes []Sexp) []string + func (env Env) String() string + type FunctionThunkValue struct + func (thunk FunctionThunkValue) Eval(env *Env, frame *StackFrame, allowThunk bool) Sexp + func (thunk FunctionThunkValue) String() string + type FunctionValue struct + func (f FunctionValue) String() string + func (funcVal FunctionValue) Eval(env *Env, frame *StackFrame, allowThunk bool) Sexp + type Lexer struct + Char byte + Input string + Position int + ReadPosition int + func New(input string) *Lexer + type LispyUserFunction func(env *Env, name string, args []Sexp) Sexp + type Sexp interface + Eval func(*Env, *StackFrame, bool) Sexp + String func() string + func Parse(tokens []Token) ([]Sexp, error) + type SexpArray struct + func (arr SexpArray) Eval(env *Env, frame *StackFrame, allowThunk bool) Sexp + func (s SexpArray) String() string + type SexpFloat float64 + func (n SexpFloat) String() string + func (s SexpFloat) Eval(env *Env, frame *StackFrame, allowThunk bool) Sexp + type SexpFunctionCall struct + func (f SexpFunctionCall) String() string + func (s SexpFunctionCall) Eval(env *Env, frame *StackFrame, allowThunk bool) Sexp + type SexpFunctionLiteral struct + func (f SexpFunctionLiteral) String() string + func (s SexpFunctionLiteral) Eval(env *Env, frame *StackFrame, allowThunk bool) Sexp + type SexpInt int + func (n SexpInt) String() string + func (s SexpInt) Eval(env *Env, frame *StackFrame, allowThunk bool) Sexp + type SexpPair struct + func (l SexpPair) String() string + func (n SexpPair) Eval(env *Env, frame *StackFrame, allowThunk bool) Sexp + type SexpSymbol struct + func (s SexpSymbol) Eval(env *Env, frame *StackFrame, allowThunk bool) Sexp + func (s SexpSymbol) String() string + type StackFrame struct + type Token struct + Literal string + Token TokenType + func Read(reader io.Reader) []Token + type TokenType string + const ARRAY + const COMMENT + const DEFINE + const DO + const EOF + const FALSE + const FLOAT + const ID + const IF + const INTEGER + const LPAREN + const LSQUARE + const MACRO + const QUOTE + const RPAREN + const RSQUARE + const STRING + const SYMBOL + const TRUE + const UNQUOTE + type Value interface + String func() string v0.2.0 Jun 2, 2021