The "special" forms are those which need to be evaluated or expanded in an unusual way. It
would not be possible to implement these forms as a fn
, an rfn
or a macro. Their
functionality is programmed directly into GameLisp.
quote
Suppresses evaluation.
do
Performs sequential evaluation.
block
Defines a pair of jump targets.
restart-block
Jumps to the start of an enclosing block.
finish-block
Jumps to the end of an enclosing block.
if
Performs conditional evaluation.
let
Binds a local variable.
fn
Defines a function.
return
Returns from a function call.
yield
Yields a value from a coroutine.
macro-no-op
Suppresses macro expansion.
defer
Defers evaluation until the end of the current lexical scope.
defer-yield
Defers evaluation until a coroutine is paused and/or resumed.
splice
Splices a form into its parent form.
let-macro
Defines a local macro.
met-name
Shorthand for a method call.
splay
Passes all of an iterator's items as function arguments.
=
Performs assignment.