Special Forms

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.

Abbreviations