#
=Performs assignment.
'The abbreviation for quote.
`The abbreviation for backquote.
~The abbreviation for unquote.
..The abbreviation for splay.
@The abbreviation for atsign.
.The abbreviation for met-name.
[]The abbreviation for access.
"{}"The abbreviation for template-str.
->Alternative syntax for nested function calls.
->>Alternative syntax for nested function calls.
+Addition.
-Subtraction or negation.
*Multiplication.
/Division or reciprocation.
%Remainder.
==Numeric equality test.
<Numeric less-than test.
<=Numeric less-than-or-equal test.
>Numeric greater-than test.
>=Numeric greater-than-or-equal test.
@selfReturns a reference to a method's self-object.
@classEquivalent to (class-of @self).
@class-nameEquivalent to (class-name (class-of @self)).
@state-nameReturns the name of the enclosing state or state* form.
@fieldRefers to a property's backing field.
@baseInvokes a wrapped method, returning its result.
@enab!Equivalent to (enab! @self state-name ..args).
@enab?Equivalent to (enab? @self state-name).
@disab!Equivalent to (disab! @self state-name).
==any?Returns #t if its first argument is numerically equal to any other argument.
A
absAbsolute value.
abs!Replaces a number with its absolute value, in place.
accessRetrieves an item from a collection.
access-abbrvThe abbreviation for access.
access=Mutates an item in a collection.
acosArccosine, in radians.
all?Lazily tests whether all of an iterator's items match a predicate.
andPerforms a lazy Boolean AND.
antiseekMoves away from a target value.
antiseek!Moves a number away from another number, in place.
any?Lazily tests whether any of an iterator's items match a predicate.
arg-limitsReturns a function's minimum and maximum argument count.
arrConstructs a new, mutable array.
arr-from-elemConstructs a new, mutable array by repeating a value.
arr?Returns #t if its argument is an array.
asinArcsine, in radians.
atanArctangent, in radians.
atsignAccesses a method's self-object.
atsignAccesses a method's self-object.
atsign-abbrvThe abbreviation for atsign.
atsign-baseInvokes a wrapped method, returning its result.
atsign-classEquivalent to (class-of @self).
atsign-class-nameEquivalent to (class-name (class-of @self)).
atsign-disab-mutEquivalent to (disab! @self state-name).
atsign-enab-mutEquivalent to (enab! @self state-name ..args).
atsign-enab-pEquivalent to (enab? @self state-name).
atsign-fieldRefers to a property's backing field.
atsign-selfReturns a reference to a method's self-object.
atsign-state-nameReturns the name of the enclosing state or state* form.
B
backquoteQuasi-quotation.
backquote-abbrvThe abbreviation for backquote.
bailTriggers an error.
bind-classmacro!Registers a classmacro.
bind-global!Binds a global variable.
bind-macro!Binds a global macro.
bind-place!Defines a new type of place.
bitandBitwise AND.
bitnotBitwise NOT.
bitorBitwise inclusive OR.
bitsarArithmetic right shift.
bitshlLeft shift.
bitshrLogical right shift.
bitxorBitwise exclusive OR.
blockDefines a pair of jump targets.
boolConverts its argument to a boolean.
bool?Returns #t if its argument is a boolean.
breakBreaks out of a loop.
C
call-metInvokes a method.
callable?Returns #t if its argument can be invoked as a function.
cbrtCube root.
ceilRound up.
chainSequences multiple iterators, one after another.
chance?Returns #t or #f in the given ratio.
charConverts its argument to a character.
char?Returns #t if its argument is a character.
chunksIterates over non-overlapping sub-arrays.
chunks-exactIterates over non-overlapping sub-arrays with an exact size.
clampClamps a value to a numeric range.
clamp!Clamps a number to lie within a numeric range, in place.
classDefines a class.
class-has-mixin?Returns #t if a class incorporates a particular mixin.
class-mixinsReturns all of a class' mixins.
class-nameReturns the name of a class.
class-ofReturns the class of an object or RData.
class?Returns #t if its argument is a class.
clear!Deletes all items from a collection.
cloneReturns a shallow copy of its argument.
clonedClones another iterator's items.
condTests several conditions in turn.
cond-eq?Successively tests a value for equality using eq?.
cond-same?Successively tests a value for equality using same?.
cond==Successively tests a value for equality using ==.
constDefines one or more associated constants.
contains?Returns #t if a string contains a character or substring.
continueSkips the rest of a loop's current iteration.
coro-finish!Prematurely finishes a coroutine.
coro-runResumes a paused coroutine.
coro-stateReturns the current status of a coroutine.
coro?Returns #t if its argument is a coroutine.
cosCosine, in radians.
countConsumes an iterator, counting its items.
cycleRepeats another iterator indefinitely.
D
dbgPrints its arguments, formatted for debugging.
dec!Performs in-place subtraction or decrement.
deep-cloneReturns a deep, recursive copy of its argument.
deep-clonedRecursively clones another iterator's items.
deep-freeze!Recursively freezes a tree of collections.
defA shorthand for bind-global!.
defclassDefines a class and binds it to a global variable.
defclassmacroShorthand for bind-classmacro!.
deferDefers evaluation until the end of the current lexical scope.
defer-yieldDefers evaluation until a coroutine is paused and/or resumed.
defmacroA shorthand for bind-macro!.
defmixinDefines a mixin and binds it to a global variable.
defnDefines a function and binds it to a global variable.
defplaceA shorthand for bind-place!.
defstructDefines a struct.
del!Deletes an item from a collection, without returning it.
del-global!Unbinds a global variable.
del-macro!Unbinds a global macro.
deque?Returns #t if its argument is a double-ended queue.
disab!Disables a state.
div!Performs in-place division or reciprocation.
div-euclidEuclidean division.
div-euclid!Performs in-place Euclidean division or reciprocation.
doPerforms sequential evaluation.
do-0Evaluates multiple forms, returning the first form's result.
E
empty?Returns #t if a collection contains no items.
enab!Enables a state.
enab?Returns #t if a state is currently enabled.
ends-with?Tests whether one deque is the suffix of another.
ensureTriggers an error when an assertion fails.
enumerateCounts an iterator's items as they're yielded.
eprPrints to the standard error stream.
eprnPrints to the standard error stream, followed by a newline.
eq-any?Returns #t if its first argument is equal to any other argument.
eq?Returns #t if all of its arguments are equal to one another.
evalEvaluates a value as a form.
eval-multiEvaluates multiple values as forms.
even?Returns #t if its argument is even.
expandCompletely expands a form.
expand-1Partially expands a form.
expand-multiCompletely expands multiple forms.
expander?Returns #t if its argument can be registered as a macro expander.
extend!Inserts any number of key/value pairs into a table.
F
fieldDefines one or more fields.
file-locationReturns a string describing the current file and line number.
filterDiscards items from another iterator which fail to match a predicate.
findReturns the first of an iterator's items which match a predicate.
finiDefines a finalizer method.
fini-mixinDefines a mixin finalizer method.
fini-stateDefines a state finalizer method.
finish-blockJumps to the end of an enclosing block.
flattenFlattens nested structure.
floConverts its argument to a floating-point number.
flo->strConverts a float to a string, with the specified number of digits after the decimal point.
flo-signFloating-point sign bit.
flo?Returns #t if its argument is a floating-point number.
floorRound down.
fnDefines a function.
fn-nameReturns a function's name.
fn-yields?Returns #t if a function might yield.
fn0Defines a function with zero arguments.
fn1Defines a function with one argument.
fn?Returns #t if its argument is a GameLisp function.
foldPasses all of an iterator's items to an accumulator function.
forLoops over each value produced by an iterator.
fornLoops over a numeric range.
forniLoops over an inclusive numeric range.
fractReturns the fractional part of a float.
freed?Returns #t if an RData has been freed.
freeze!Freezes a collection so that it can no longer be mutated.
freeze-global!Freezes a global variable.
fsmDefines a set of mutually exclusive states.
G
gcRuns the garbage collector.
gc-valueRetrieves information about the garbage collector.
gc-value=Tunes the garbage collector.
gensymConstructs a unique symbol.
globalAccesses a global variable.
global=Assigns a new value to a global variable.
grow!Increases a deque's size.
H
has-global?Returns #t if the given symbol has a global binding.
has-macro?Returns #t if the given symbol has a global macro binding.
has-met?Returns #t if the given name is bound to a method.
has-state?Returns #t if an object or class has a particular state.
has?Returns #t if a collection contains a particular item.
I
identityReturns its argument.
ifPerforms conditional evaluation.
inc!Performs in-place addition or increment.
includeReplaces itself with the contents of a file.
inf?Returns #t if its argument is infinite.
initDefines an initializer method.
init-mixinDefines a mixin initializer method.
init-stateDefines a state initializer method.
insert!Inserts one or more elements into a deque.
intConverts its argument to an integer.
int->strConverts an integer to a string, with the specified radix.
int?Returns #t if its argument is an integer.
is?Returns #t if an object or RData belongs to the specified class.
iterConstructs an iterator over a collection.
iter-double-ended?Returns #t if an iterator can be advanced from the back.
iter-finished?Returns #t if an iterator has no more items to produce.
iter-next!Advances an iterator.
iter-next-back!Advances the back of a double-ended iterator.
iter?Returns #t if its argument is an iterator.
iterable?Returns #t if its argument can be iterated.
J
K
keysIterates over the keys of a table.
keys-eqv?Returns #t if all of its arguments would occupy the same table entry when used as keys.
L
lenReturns the number of items in a collection.
letBinds a local variable.
let-classDefines a class and binds it to a local variable.
let-fnDefines a function and binds it to a local variable.
let-macroDefines a local macro.
let-mixinDefines a mixin and binds it to a local variable.
linesIterates over lines in a string.
loadEvaluates the contents of a file.
load-strParses and evaluates a string.
logLogarithm.
loopAn endless loop.
lowercaseConverts a string to lowercase.
M
macroAccesses a global macro.
macro-no-opSuppresses macro expansion.
macro=Assigns a new global macro to a symbol.
mapCalls a function for each of another iterator's items.
map!Maps a function over a deque in-place.
map-syntaxMaps a function over a collection, preserving syntax information.
matchAttempt to match a value against several patterns.
matches?Returns #t if a value matches a pattern.
maxMaximum.
max-argsReturns a function's maximum argument count.
metDefines a method.
met-nameShorthand for a method call.
met-name-abbrvThe abbreviation for met-name.
minMinimum.
min-argsReturns a function's minimum argument count.
mixinDefines a mixin.
mixinApplies mixins to a class definition.
mixin?Returns #t if a class is a mixin.
mul!Performs in-place multiplication.
N
nameDefines the name of a class.
nan?Returns #t if its argument is a NaN.
nat-int?Returns #t if its argument is a natural integer (>= 0).
neg!Negates a number, in place.
neg-int?Returns #t if its argument is a negative integer (< 0).
nil?Returns #t if its argument is #n.
no-opDiscards any number of arguments and returns #n.
notConverts its argument to a boolean and negates it.
nthReturns an iterator's nth item.
nth-backReturns a double-ended iterator's nth-from-last item.
num?Returns #t if its argument is a number.
O
obj-kill!Permanently deactivates an object.
obj-killed?Returns #t if an object has been killed.
obj?Returns #t if its argument is an object.
odd?Returns #t if its argument is odd.
onceIterates over zero or more arguments.
once-withReturns an iterator which lazily calls a function.
orPerforms a lazy Boolean OR.
ordNumeric or lexicographic ordering.
P
padAdds padding characters to the end of a string.
pad-endAdds padding characters to the end of a string.
pad-startAdds padding characters to the beginning of a string.
parseIncrementally parses values from a string.
parse-1Parses exactly one value from a string.
parse-allParses zero or more values from a string.
pop!Removes the deque's last element, and returns it.
pop-start!Removes the deque's first element, and returns it.
pos-int?Returns #t if its argument is a positive integer (> 0).
positionSearches within a deque.
powExponentiation.
prPrints to the standard output stream.
pretty-eprnPretty-prints to the standard error stream.
pretty-prnPretty-prints to the standard output stream.
pretty-strConverts GameLisp syntax into a string with appropriate whitespace.
pretty-unparseLosslessly converts GameLisp data into a string with appropriate whitespace.
prnPrints to the standard output stream, followed by a newline.
propDefines a property.
push!Appends one or more elements to the end of a deque.
push-start!Prepends one or more elements to the beginning of a deque.
Q
R
randGenerates a random number.
rand-pickRandomly selects one of its arguments.
rand-reseedRestarts the random number generator from a fixed seed.
rand-weightedRandomly selects one item from a group, with unequal probability.
rchunksIterates over non-overlapping sub-arrays, in reverse order.
rchunks-exactIterates over non-overlapping sub-arrays with an exact size, in reverse order.
rdata?Returns #t if its argument is Rust data.
rem!Performs in-place remainder.
rem-euclidEuclidean remainder.
rem-euclid!Performs in-place Euclidean remainder.
remove!Removes an item from a collection, and returns it.
repeatReturns an iterator which infinitely yields its arguments.
repeat-withReturns an iterator which repeatedly calls a function.
replacePerforms text substitution.
representable-sym-str?Returns #t if its argument would be a valid, representable symbol.
requireEvaluates the contents of a file, if it hasn't been seen before.
restart-blockJumps to the start of an enclosing block.
retain!Filters a deque in-place.
returnReturns from a function call.
revReverses an iterator.
rev!Reverses a deque in-place.
rfindReturns the first of an iterator's items which match a predicate, searching backwards.
rfn?Returns #t if its argument is a Rust function.
rfoldPasses all of an iterator's items to an accumulator function in reverse order.
rnIterates over a numeric range.
rniIterates over an inclusive numeric range.
roundRound-to-nearest.
rpositionSearches backwards within a deque.
S
same-any?Returns #t if its first argument has the same identity as any other argument.
same?Returns #t if all of its arguments share the same identity.
seekMoves closer to a target value.
seek!Moves a number closer to a target number, in place.
shrink!Reduces a deque's size.
signSign.
sinSine, in radians.
skipSkips a fixed number of leading items from another iterator.
skip-whileSkips leading items which match a predicate.
sleepSleeps the current thread for the given number of seconds.
smoothstepSmoothly interpolates between 0.0 and 1.0.
sortReturns a sorted copy of a deque.
sort!Sorts a deque in-place.
splayPasses all of an iterator's items as function arguments.
splay-abbrvThe abbreviation for splay.
spliceSplices a form into its parent form.
splitIterates over sub-strings.
sqrtSquare root.
stack-traceReturns a string describing the current call-stack.
starts-with?Tests whether one deque is the prefix of another.
stateDefines a class state.
state*Defines a class state which is enabled by default.
step-bySkips over another iterator's items by the given interval.
strConstructs a string.
str?Returns #t if its argument is a string.
swap!Exchange values stored in two different places.
swap-remove!Swaps an element with the deque's last element, then removes it and returns it.
swap-remove-start!Swaps an element with the deque's first element, then removes it and returns it.
symConstructs a symbol.
sym?Returns #t if its argument is a symbol.
T
tabConstructs a table.
tab?Returns #t if its argument is a table.
takeLimits another iterator to a fixed number of items.
take-whileLimits another iterator using a predicate.
tanTangent, in radians.
template-strConstructs a string.
template-str-abbrvThe abbreviation for template-str.
timeGenerates a high-precision timestamp.
todoTriggers an error with a "not yet implemented" message.
trimTrims leading and trailing characters from a string.
trim-endTrims trailing characters from a string.
trim-startTrims leading characters from a string.
truncReturns the integer part of a float, as a float.
tryCaptures errors with a brief error message.
try-verboseCaptures errors with a verbose error message.
type-ofReturns the primitive type of its argument as a symbol.
U
unix-timeReturns the number of seconds elapsed since the UNIX epoch, as a string.
unlessEvaluates its body when a condition is false.
unparseLosslessly converts GameLisp data into a string.
unquoteEvaluate a quasi-quoted form.
unquote-abbrvThe abbreviation for unquote.
untilLoops as long as a condition is false.
uppercaseConverts a string to uppercase.
V
valid-sym-char?Returns #t if its argument is a valid symbol character.
valid-sym-str?Returns #t if its argument would be a valid symbol.
valuesIterates over the values of a table.
W
whenEvaluates its body when a condition is true.
when-letEvaluates some forms when a value matches a pattern.
whileLoops as long as a condition is true.
whitespace?Returns #t if the given character or string is whitespace.
windowsIterates over overlapping sub-arrays.
with-globalMutates a global variable for the duration of a dynamic scope.
wrapWraps another method in the same class.
wrap-propWraps another property in the same class.