Versions in this module Expand all Collapse all v0 v0.1.0 Aug 29, 2023 Changes in this version + type Abstract struct + func (a Abstract) InstructionString() string + type Application struct + Left Value + Right Value + func (a Application) ValueString() string + type Apply struct + func (a Apply) InstructionString() string + type Call struct + Code []Instruction + func (c Call) InstructionString() string + type Callure struct + Code []Instruction + Env Environment + func (c Callure) ValueString() string + type Close struct + Arg string + Code []Instruction + func (c Close) InstructionString() string + type Closure struct + Arg string + Code []Instruction + Env Environment + func (c Closure) ValueString() string + type Dump struct + Code []Instruction + Env Environment + func (d Dump) ValueString() string + type Environment map[string]Value + type Fetch struct + Name string + func (f Fetch) InstructionString() string + type Function struct + Arg string + Body Value + func (f Function) ValueString() string + type Instruction interface + InstructionString func() string + func Compile(expr ast.Expression) []Instruction + type Return struct + func (r Return) InstructionString() string + type Swap struct + func (w Swap) InstructionString() string + type Symbol struct + Name string + func (s Symbol) ValueString() string + type VM struct + func NewVM(code []Instruction) *VM + func (vm *VM) Run() Value + type Value interface + ValueString func() string