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.
quoteSuppresses evaluation.
doPerforms sequential evaluation.
blockDefines a pair of jump targets.
restart-blockJumps to the start of an enclosing block.
finish-blockJumps to the end of an enclosing block.
ifPerforms conditional evaluation.
letBinds a local variable.
fnDefines a function.
returnReturns from a function call.
yieldYields a value from a coroutine.
macro-no-opSuppresses macro expansion.
deferDefers evaluation until the end of the current lexical scope.
defer-yieldDefers evaluation until a coroutine is paused and/or resumed.
spliceSplices a form into its parent form.
let-macroDefines a local macro.
met-nameShorthand for a method call.
splayPasses all of an iterator's items as function arguments.
=Performs assignment.