Evaluation

Globals

global

Accesses a global variable.

global=

Assigns a new value to a global variable.

freeze-global!

Freezes a global variable.

has-global?

Returns #t if the given symbol has a global binding.

bind-global!

Binds a global variable.

del-global!

Unbinds a global variable.

def

A shorthand for bind-global!.

with-global

Mutates a global variable for the duration of a dynamic scope.

Functions

defn

Defines a function and binds it to a global variable.

let-fn

Defines a function and binds it to a local variable.

fn-name

Returns a function's name.

arg-limits

Returns a function's minimum and maximum argument count.

min-args

Returns a function's minimum argument count.

max-args

Returns a function's maximum argument count.

fn0

Defines a function with zero arguments.

fn1

Defines a function with one argument.

no-op

Discards any number of arguments and returns #n.

identity

Returns its argument.

Coroutines

fn-yields?

Returns #t if a function might yield.

coro-state

Returns the current status of a coroutine.

coro-run

Resumes a paused coroutine.

coro-finish!

Prematurely finishes a coroutine.

Evaluation

load

Evaluates the contents of a file.

require

Evaluates the contents of a file, if it hasn't been seen before.

eval

Evaluates a value as a form.

eval-multi

Evaluates multiple values as forms.

Evaluation

load-str

Parses and evaluates a string.

Macros

expand

Completely expands a form.

expand-multi

Completely expands multiple forms.

expand-1

Partially expands a form.

macro

Accesses a global macro.

macro=

Assigns a new global macro to a symbol.

has-macro?

Returns #t if the given symbol has a global macro binding.

bind-macro!

Binds a global macro.

del-macro!

Unbinds a global macro.

defmacro

A shorthand for bind-macro!.

Types
Numbers