There are 8 utilities.
- until v1.0
-
Executes
body
untilexpression
is true.- Provides
until
- while v1.0
-
Executes
body
whileexpression
is true.- Provides
while
- Requires
- until
- extract-function-name v1.0
-
Useful for macros that want to mimic the functional interface for functions like
#'eq
and'eq
.- Provides
extract-function-name
- switch v1.0
-
Dispatch to different branches of code based off of the value of an expression.
- Provides
switch
,eswitch
,cswitch
- Requires
- with-gensyms, extract-function-name
- whichever v1.0
-
Evaluates exactly one of
possibilities
, chosen at random.- Provides
whichever
- Requires
- with-gensyms
- xor v1.0
-
Evaluates its arguments one at a time, from left to right. If more then one argument evaluates to a true value no further
datums
are evaluated, andnil
is returned as both primary and secondary value. If exactly one argument evaluates to true, its value is returned as the primary value after all the arguments have been evaluated, andt
is returned as the secondary value. If no arguments evaluate to truenil
is retuned as primary, andt
as secondary value.- Provides
xor
- Requires
- with-gensyms
- nth-value-or v1.0
-
Evaluates
form
arguments one at a time, until thenth-value
returned by one of the forms is true. It then returns all the values returned by evaluating that form. If none of the forms return a true nth value, this form returnsnil
.- Provides
nth-value-or
- Requires
- with-gensyms, once-only
- multiple-value-prog2 v1.0
-
Evaluates
first-form
, thensecond-form
, and thenforms
. Yields as its value all the value returned bysecond-form
.- Provides
multiple-value-prog2