special

package
v0.0.0-...-31ab3be Latest Latest
Warning

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

Go to latest
Published: Jul 18, 2019 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	UnpairedBindings    = "binding must be a paired vector"
	NameAlreadyBound    = "name is already bound in local scope: %s"
	UnexpectedLetSyntax = "unexpected binding syntax: %s"
)

Error messages

View Source
const (
	UnexpectedLambdaSyntax = "unexpected lambda syntax: %s"
)

Error messages

Variables

This section is empty.

Functions

func Begin

func Begin(e encoder.Type, args ...data.Value)

Begin encodes a set of expressions, returning only the final evaluation

func Bind

func Bind(e encoder.Type, args ...data.Value)

Bind encodes a global definition

func Declare

func Declare(e encoder.Type, args ...data.Value)

Declare encodes global forward-declarations

func Eval

func Eval(e encoder.Type, args ...data.Value)

Eval encodes an immediate evaluation

func If

func If(e encoder.Type, args ...data.Value)

If encodes an (if predicate consequent alternative) form

func Lambda

func Lambda(e encoder.Type, args ...data.Value)

Lambda encodes a lambda

func Let

func Let(e encoder.Type, args ...data.Value)

Let encodes a binding form. Binding values are evaluated first, and are then bound to fresh names, meaning that mutual recursion is not supported

func LetMutual

func LetMutual(e encoder.Type, args ...data.Value)

LetMutual encodes a binding form. First fresh names are introduced, and then binding values are evaluated with access to those names via the MutualScope

func MacroExpand

func MacroExpand(e encoder.Type, args ...data.Value)

MacroExpand performs macro expansion of a form until it can no longer

func MacroExpand1

func MacroExpand1(e encoder.Type, args ...data.Value)

MacroExpand1 performs a single-step macro expansion of a form

func Quote

func Quote(e encoder.Type, args ...data.Value)

Quote converts its argument into a literal value

Types

This section is empty.

Jump to

Keyboard shortcuts

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