builtins

package
v0.0.0-...-a54ad32 Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2017 License: BSD-3-Clause Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BeginBlock

func BeginBlock(ctx *interp.Context, form *skim.Cons) (result skim.Atom, err error)

func BindArithmetic

func BindArithmetic(ctx *interp.Context)

func BindCore

func BindCore(ctx *interp.Context)

func BindDisplay

func BindDisplay(ctx *interp.Context)

func BindMutative

func BindMutative(ctx *interp.Context)

func Cond

func Cond(ctx *interp.Context, form *skim.Cons) (result skim.Atom, err error)

func Cons

func Cons(ctx *interp.Context, form *skim.Cons) (cons skim.Atom, err error)

func Display

func Display(c *interp.Context, v *skim.Cons) (_ skim.Atom, err error)

func Div

func Div(ctx *interp.Context, form *skim.Cons) (result skim.Atom, err error)

func Expand

func Expand(ctx *interp.Context, list *skim.Cons) (*skim.Cons, error)

Expand expands the values by evaluating each value in the scope of the interpreter context, ctx. It returns a new list with the expanded values.

This is a convenience function for skim.Map(list, ctx.Eval).

func Expanded

func Expanded(fn interp.Proc) interp.Proc

Expanded returns a new Proc that will invoke fn with expanded values of its form when called. This is useful as a convenience when dealing with regular functions that do not receive anything other than normal arguments as a list. For special procs, such as let, let*, begin, cond, and, or (particulary for short-circuiting), and so on, more careful evaluation of its arguments is necessary.

func Let

func Let(ctx *interp.Context, form *skim.Cons) (skim.Atom, error)

func LetStar

func LetStar(ctx *interp.Context, form *skim.Cons) (skim.Atom, error)

func List

func List(ctx *interp.Context, form *skim.Cons) (list skim.Atom, err error)

func LogAnd

func LogAnd(ctx *interp.Context, form *skim.Cons) (result skim.Atom, err error)

func LogOr

func LogOr(ctx *interp.Context, form *skim.Cons) (result skim.Atom, err error)

func Mod

func Mod(ctx *interp.Context, form *skim.Cons) (result skim.Atom, err error)

func Mul

func Mul(ctx *interp.Context, form *skim.Cons) (result skim.Atom, err error)

func Newline

func Newline(c *interp.Context, v *skim.Cons) (skim.Atom, error)

func QuasiquoteFn

func QuasiquoteFn(c *interp.Context, v *skim.Cons) (skim.Atom, error)

func QuoteFn

func QuoteFn(c *interp.Context, v *skim.Cons) (skim.Atom, error)

func SetQuoted

func SetQuoted(ctx *interp.Context, form *skim.Cons) (result skim.Atom, err error)

func SetUnquoted

func SetUnquoted(ctx *interp.Context, form *skim.Cons) (result skim.Atom, err error)

func Sub

func Sub(ctx *interp.Context, form *skim.Cons) (result skim.Atom, err error)

func Sum

func Sum(ctx *interp.Context, form *skim.Cons) (result skim.Atom, err error)

func UnbindQuoted

func UnbindQuoted(ctx *interp.Context, form *skim.Cons) (result skim.Atom, err error)

func UnbindUnquoted

func UnbindUnquoted(ctx *interp.Context, form *skim.Cons) (result skim.Atom, err error)

func UnquoteFn

func UnquoteFn(c *interp.Context, v *skim.Cons) (skim.Atom, error)

Types

type Lambda

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

func NewLambda

func NewLambda(ctx *interp.Context, args []skim.Symbol, body *skim.Cons) (*Lambda, error)

func (*Lambda) Eval

func (l *Lambda) Eval(ctx *interp.Context, form *skim.Cons) (result skim.Atom, err error)

func (*Lambda) GoString

func (l *Lambda) GoString() string

func (*Lambda) SkimAtom

func (*Lambda) SkimAtom()

func (*Lambda) String

func (l *Lambda) String() string

Jump to

Keyboard shortcuts

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