global
global=
freeze-global!
has-global?
bind-global!
del-global!
def
with-global
defn
let-fn
fn-name
arg-limits
min-args
max-args
fn0
fn1
no-op
identity
fn-yields?
coro-state
coro-run
coro-finish!
load
require
eval
eval-multi
load-str
expand
expand-multi
expand-1
macro
macro=
has-macro?
bind-macro!
del-macro!
defmacro
(let-fn name params ..body) name: a sym params: an arr body: zero or more forms
Defines a function and binds it to a local variable.
(let-fn name () form0 form1) is equivalent to:
(let-fn name () form0 form1)
(let name) (= name (fn &name name () form0 form1))
Note that, because the declaration of name is separate from its initialization, the function is able to call itself recursively.
name
See also: let, fn
let
fn