Alphabetic Index

#

=

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 meth-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.

@self

Returns a reference to a method's self-object.

@class

Equivalent to (class-of @self).

@class-name

Equivalent to (class-name (class-of @self)).

@state-name

Returns the name of the enclosing state or state* form.

@field

Refers to a property's backing field.

@base

Invokes 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

abs

Absolute value.

abs!

Replaces a number with its absolute value, in place.

access

Retrieves an item from a collection.

access-abbrv

The abbreviation for access.

access=

Mutates an item in a collection.

acos

Arccosine, in radians.

all?

Lazily tests whether all of an iterator's items match a predicate.

and

Performs a lazy Boolean AND.

antiseek

Moves 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-limits

Returns a function's minimum and maximum argument count.

arr

Constructs a new, mutable array.

arr-from-elem

Constructs a new, mutable array by repeating a value.

arr?

Returns #t if its argument is an array.

asin

Arcsine, in radians.

atan

Arctangent, in radians.

atsign

Accesses a method's self-object.

atsign

Accesses a method's self-object.

atsign-abbrv

The abbreviation for atsign.

atsign-base

Invokes a wrapped method, returning its result.

atsign-class

Equivalent to (class-of @self).

atsign-class-name

Equivalent to (class-name (class-of @self)).

atsign-disab-mut

Equivalent to (disab! @self state-name).

atsign-enab-mut

Equivalent to (enab! @self state-name ..args).

atsign-enab-p

Equivalent to (enab? @self state-name).

atsign-field

Refers to a property's backing field.

atsign-self

Returns a reference to a method's self-object.

atsign-state-name

Returns the name of the enclosing state or state* form.

B

backquote

Quasi-quotation.

backquote-abbrv

The abbreviation for backquote.

bail

Triggers 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.

bitand

Bitwise AND.

bitnot

Bitwise NOT.

bitor

Bitwise inclusive OR.

bitsar

Arithmetic right shift.

bitshl

Left shift.

bitshr

Logical right shift.

bitxor

Bitwise exclusive OR.

block

Defines a pair of jump targets.

bool

Converts its argument to a boolean.

bool?

Returns #t if its argument is a boolean.

break

Breaks out of a loop.

C

call-meth

Invokes a method.

callable?

Returns #t if its argument can be invoked as a function.

cbrt

Cube root.

ceil

Round up.

chain

Sequences multiple iterators, one after another.

chance

Returns #t or #f in the given ratio.

char

Converts its argument to a character.

char?

Returns #t if its argument is a character.

chunks

Iterates over non-overlapping sub-arrays.

chunks-exact

Iterates over non-overlapping sub-arrays with an exact size.

clamp

Clamps a value to a numeric range.

clamp!

Clamps a number to lie within a numeric range, in place.

class

Defines a class.

class-has-mixin?

Returns #t if a class incorporates a particular mixin.

class-mixins

Returns all of a class' mixins.

class-name

Returns the name of a class.

class-of

Returns the class of an object or RData.

class?

Returns #t if its argument is a class.

clear!

Deletes all items from a collection.

clone

Returns a shallow copy of its argument.

cloned

Clones another iterator's items.

coin-flip

Equal chance of returning either #t or #f.

cond

Tests 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 ==.

const

Defines one or more associated constants.

contains?

Returns #t if a string contains a character or substring.

continue

Skips the rest of a loop's current iteration.

coro-finish!

Prematurely finishes a coroutine.

coro-run

Resumes a paused coroutine.

coro-state

Returns the current status of a coroutine.

coro?

Returns #t if its argument is a coroutine.

cos

Cosine, in radians.

count

Consumes an iterator, counting its items.

cycle

Repeats another iterator indefinitely.

D

dbg

Prints its arguments, formatted for debugging.

dec!

Performs in-place subtraction or decrement.

deep-clone

Returns a deep, recursive copy of its argument.

deep-cloned

Recursively clones another iterator's items.

deep-freeze!

Recursively freezes a tree of collections.

def

A shorthand for bind-global!.

defclass

Defines a class and binds it to a global variable.

defclassmacro

Shorthand for bind-classmacro!.

defer

Defers evaluation until the end of the current lexical scope.

defer-yield

Defers evaluation until a coroutine is paused and/or resumed.

defmacro

A shorthand for bind-macro!.

defmixin

Defines a mixin and binds it to a global variable.

defn

Defines a function and binds it to a global variable.

defplace

A shorthand for bind-place!.

defstruct

Defines 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-euclid

Euclidean division.

div-euclid!

Performs in-place Euclidean division or reciprocation.

do

Performs sequential evaluation.

do-0

Evaluates 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.

ensure

Triggers an error when an assertion fails.

enumerate

Counts an iterator's items as they're yielded.

epr

Prints to the standard error stream.

eprn

Prints 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.

eval

Evaluates a value as a form.

eval-multi

Evaluates multiple values as forms.

even?

Returns #t if its argument is even.

expand

Completely expands a form.

expand-1

Partially expands a form.

expand-multi

Completely 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

field

Defines one or more fields.

file-location

Returns a string describing the current file and line number.

filter

Discards items from another iterator which fail to match a predicate.

find

Returns the first of an iterator's items which match a predicate.

fini

Defines a finalizer method.

fini-mixin

Defines a mixin finalizer method.

fini-state

Defines a state finalizer method.

finish-block

Jumps to the end of an enclosing block.

flatten

Flattens nested structure.

flo

Converts its argument to a floating-point number.

flo->str

Converts a float to a string, with the specified number of digits after the decimal point.

flo-sign

Floating-point sign bit.

flo?

Returns #t if its argument is a floating-point number.

floor

Round down.

fn

Defines a function.

fn-name

Returns a function's name.

fn-yields?

Returns #t if a function might yield.

fn0

Defines a function with zero arguments.

fn1

Defines a function with one argument.

fn?

Returns #t if its argument is a GameLisp function.

fold

Passes all of an iterator's items to an accumulator function.

for

Loops over each value produced by an iterator.

forn

Loops over a numeric range.

forni

Loops over an inclusive numeric range.

fract

Returns the fractional part of a float.

free!

Deallocates an RData.

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.

fsm

Defines a set of mutually exclusive states.

G

gc

Runs the garbage collector.

gc-value

Retrieves information about the garbage collector.

gc-value=

Tunes the garbage collector.

gensym

Constructs a unique symbol.

global

Accesses 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-meth?

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

identity

Returns its argument.

if

Performs conditional evaluation.

inc!

Performs in-place addition or increment.

include

Replaces itself with the contents of a file.

inf?

Returns #t if its argument is infinite.

init

Defines an initializer method.

init-mixin

Defines a mixin initializer method.

init-state

Defines a state initializer method.

insert!

Inserts one or more elements into a deque.

int

Converts its argument to an integer.

int->str

Converts 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.

iter

Constructs 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

join

Combines an array of deques into one deque.

K

keys

Iterates 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

len

Returns the number of items in a collection.

let

Binds a local variable.

let-class

Defines a class and binds it to a local variable.

let-fn

Defines a function and binds it to a local variable.

let-macro

Defines a local macro.

let-mixin

Defines a mixin and binds it to a local variable.

lines

Iterates over lines in a string.

load

Evaluates the contents of a file.

log

Logarithm.

loop

An endless loop.

lowercase

Converts a string to lowercase.

M

macro

Accesses a global macro.

macro-no-op

Suppresses macro expansion.

macro=

Assigns a new global macro to a symbol.

map

Calls a function for each of another iterator's items.

map!

Maps a function over a deque in-place.

map-syntax

Maps a function over a collection, preserving syntax information.

match

Attempt to match a value against several patterns.

matches?

Returns #t if a value matches a pattern.

max

Maximum.

max-args

Returns a function's maximum argument count.

meth

Defines a method.

meth-name

Shorthand for a method call.

meth-name-abbrv

The abbreviation for meth-name.

min

Minimum.

min-args

Returns a function's minimum argument count.

mixin

Defines a mixin.

mixin

Applies mixins to a class definition.

mixin?

Returns #t if a class is a mixin.

mul!

Performs in-place multiplication.

N

name

Defines 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-op

Discards any number of arguments and returns #n.

not

Converts its argument to a boolean and negates it.

nth

Returns an iterator's nth item.

nth-back

Returns 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.

once

Iterates over zero or more arguments.

once-with

Returns an iterator which lazily calls a function.

or

Performs a lazy Boolean OR.

ord

Numeric ordering.

P

pad

Adds padding characters to the end of a string.

pad-end

Adds padding characters to the end of a string.

pad-start

Adds padding characters to the beginning of a string.

parse

Incrementally parses values from a string.

parse-1

Parses exactly one value from a string.

parse-all

Parses 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).

position

Searches within a deque.

pow

Exponentiation.

pr

Prints to the standard output stream.

pretty-eprn

Pretty-prints to the standard error stream.

pretty-prn

Pretty-prints to the standard output stream.

pretty-str

Converts GameLisp syntax into a string with appropriate whitespace.

pretty-unparse

Losslessly converts GameLisp data into a string with appropriate whitespace.

prn

Prints to the standard output stream, followed by a newline.

prop

Defines 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

quote

Suppresses evaluation.

quote-abbrv

The abbreviation for quote.

R

rand

Generates a random number.

rand-reseed

Restarts the random number generator from a fixed seed.

rand-select

Randomly selects one of its arguments.

rand-weighted

Randomly selects one item from a group, with unequal probability.

rchunks

Iterates over non-overlapping sub-arrays, in reverse order.

rchunks-exact

Iterates 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-euclid

Euclidean remainder.

rem-euclid!

Performs in-place Euclidean remainder.

remove!

Removes an item from a collection, and returns it.

repeat

Returns an iterator which infinitely yields its arguments.

repeat-with

Returns an iterator which repeatedly calls a function.

replace

Performs text substitution.

require

Evaluates the contents of a file, if it hasn't been seen before.

restart-block

Jumps to the start of an enclosing block.

retain!

Filters a deque in-place.

return

Returns from a function call.

rev

Reverses an iterator.

rev!

Reverses a deque in-place.

rfind

Returns the first of an iterator's items which match a predicate, searching backwards.

rfn?

Returns #t if its argument is a Rust function.

rfold

Passes all of an iterator's items to an accumulator function in reverse order.

rn

Iterates over a numeric range.

rni

Iterates over an inclusive numeric range.

round

Round-to-nearest.

rposition

Searches 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.

seek

Moves closer to a target value.

seek!

Moves a number closer to a target number, in place.

shrink!

Reduces a deque's size.

sign

Sign.

sin

Sine, in radians.

skip

Skips a fixed number of leading items from another iterator.

skip-while

Skips leading items which match a predicate.

sleep

Sleeps the current thread for the given number of seconds.

smoothstep

Smoothly interpolates between 0.0 and 1.0.

sort

Returns a sorted copy of a deque.

sort!

Sorts a deque in-place.

splay

Passes all of an iterator's items as function arguments.

splay-abbrv

The abbreviation for splay.

splice

Splices a form into its parent form.

split

Iterates over sub-strings.

sqrt

Square root.

stack-trace

Returns a string describing the current call-stack.

starts-with?

Tests whether one deque is the prefix of another.

state

Defines a class state.

state*

Defines a class state which is enabled by default.

step-by

Skips over another iterator's items by the given interval.

str

Constructs 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.

sym

Constructs a symbol.

sym?

Returns #t if its argument is a symbol.

T

tab

Constructs a table.

tab?

Returns #t if its argument is a table.

take

Limits another iterator to a fixed number of items.

take-while

Limits another iterator using a predicate.

tan

Tangent, in radians.

template-str

Constructs a string.

template-str-abbrv

The abbreviation for template-str.

time

Generates a high-precision timestamp.

todo

Triggers an error with a "not yet implemented" message.

trim

Trims leading and trailing characters from a string.

trim-end

Trims trailing characters from a string.

trim-start

Trims leading characters from a string.

trunc

Returns the integer part of a float, as a float.

try

Captures errors with a brief error message.

try-verbose

Captures errors with a verbose error message.

type-of

Returns the primitive type of its argument as a symbol.

U

unix-time

Returns the number of seconds elapsed since the UNIX epoch, as a string.

unless

Evaluates its body when a condition is false.

unparse

Losslessly converts GameLisp data into a string.

unquote

Evaluate a quasi-quoted form.

unquote-abbrv

The abbreviation for unquote.

until

Loops as long as a condition is false.

uppercase

Converts 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.

values

Iterates over the values of a table.

W

when

Evaluates its body when a condition is true.

when-let

Evaluates some forms when a value matches a pattern.

while

Loops as long as a condition is true.

whitespace?

Returns #t if the given character or string is whitespace.

windows

Iterates over overlapping sub-arrays.

with-global

Mutates a global variable for the duration of a dynamic scope.

wrap

Wraps another method in the same class.

wrap-prop

Wraps another property in the same class.

Y

yield

Yields a value from a coroutine.

yield-from

Yields each value produced by an iterator.

Z

zip

Combines multiple iterators.