This is the agutil Reference Manual, version 0.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 04:12:25 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
agutil
A collection of utility functions not found in other utility libraries.
Alexander Gutev
MIT
0.0.1
alexandria
(system).
optima
(system).
package.lisp
(file).
let-over-lambda.lisp
(file).
functions.lisp
(file).
macros.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
agutil/agutil.asd
agutil/package.lisp
agutil/let-over-lambda.lisp
agutil/functions.lisp
agutil/macros.lisp
agutil/let-over-lambda.lisp
package.lisp
(file).
agutil
(system).
defmacro!
(macro).
defmacro/g!
(macro).
defun!
(macro).
g!-symbol-p
(function).
group
(function).
lol-flatten
(function).
mkstr
(function).
o!-symbol-p
(function).
o!-symbol-to-g!-symbol
(function).
symb
(function).
agutil/functions.lisp
let-over-lambda.lisp
(file).
agutil
(system).
define-merged-package
(macro).
dequeue
(function).
enqueue
(function).
enqueue-list
(function).
gensyms
(function).
make-queue
(function).
merge-packages
(function).
queue->list
(function).
queue-empty?
(function).
repeat-function
(function).
agutil/macros.lisp
functions.lisp
(file).
agutil
(system).
dohash
(macro).
let-if
(macro).
match-state
(macro).
nlet
(macro).
update-let
(macro).
with-struct-slots
(macro).
Packages are listed by definition order.
agutil
alexandria
.
common-lisp
.
optima
.
define-merged-package
(macro).
dequeue
(function).
dohash
(macro).
enqueue
(function).
enqueue-list
(function).
gensyms
(function).
let-if
(macro).
make-queue
(function).
match-state
(macro).
merge-packages
(function).
nlet
(macro).
queue->list
(function).
queue-empty?
(function).
repeat-function
(function).
update-let
(macro).
with-struct-slots
(macro).
defmacro!
(macro).
defmacro/g!
(macro).
defun!
(macro).
g!-symbol-p
(function).
group
(function).
lol-flatten
(function).
mkstr
(function).
o!-symbol-p
(function).
o!-symbol-to-g!-symbol
(function).
symb
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Convenience macro which defines a merged package using MERGE-PACKAGES. NAME (not evaluated) is the name of the new package and PACKAGES (not evaluated) is the list of packages of which the external symbols are imported in package NAME.
Iterates over each element of HASH with the key bound to KEY and the value bound to VALUE. BODY is evaluated on each iteration in an implicit PROGN.
Binds variables to different values computed by different init-forms based on whether CONDITION evaluates to true or false. BINDINGS is a list of bindings where the first element is the variable symbol the second element is the init-form to evaluated if CONDITION evaluates to true, the second element is the init-form to evaluate if CONDITION evaluates to false.
Implements an FSM (Finite State Machine) where each state may
specify a pattern (in the form accepted by the trivia pattern
matcher) and a list of from states, when the argument matches the
pattern of a particular state and the current state is in the
state’s from states list, the FSM transitions to that state.
Each element in STATES is a list of the following form: (STATE
PATTERN [:FROM STATES] . BODY) where STATE is a symbol identifying
the state, PATTERN is the pattern to be matched, and STATES is the
optional list of from states (it and the :FROM keyword may be
excluded). if there is only one state it does not have to be in a
list. If a state specifies no from states, it is as if all states,
in the MATCH-STATE form, are specified as from states.
When a state becomes the current state the forms in its BODY are
executed, in which the machine may either transition to the next
state using the lexically defined function (NEXT NEW-ARG) where
NEW-ARG is the new argument to be matched against the patterns. If
NEXT is never called in body the return value of the last form in
BODY becomes the return value of the MATCH-STATE form.
The initial argument is given by evaluating the form ARG. The initial state may be optionally specified, when the first element of STATES is :START the second element is taken as the form to be evaluated to produce the start state, otherwise the start state defaults to :START. Patterns are matched in the order given, the first state whose pattern matches (both the argument pattern and FROM list) becomes the current state.
Establishes bindings to variables, which are visible to the forms
in BODY, however each binding also has an update form, the result
of which is assigned to the variable in the environment of the
UPDATE-LET form itself.
Each element of BINDINGS is a list of the form (VAR INIT-FORM
UPDATE-FORM) where var is the variable symbol, INIT-FORM is the
form of which the result is bound to VAR. This binding is visible
to the forms in BODY. UPDATE-FORM is a form of which the result is
assigned to VAR affecting the binding which is visible in the
environment of the UPDATE-LET form itself, and not the binding
which is visible in BODY. Each UPDATE-FORM is executed after the
last form in BODY with the symbol OLD being bound to the value of
the corresponding variable in the environment of the UPDATE-LET
form.
The value of the last form in BODY is returned.
Same as WITH-SLOTS however for structures defined by
DEFSTRUCT. CONC-NAME is the symbol, passed to the CONC-NAME option
to DEFSTRUCT, which is prepended to each symbol in SLOTS to
generate the name of the accessor function for the slot.
Removes and returns the element at the tail of QUEUE. NIL if the queue is empty. QUEUE is modified.
Adds ELEM to the head of QUEUE. QUEUE is modified.
Adds each element in the list ELEMS to the head of the queue QUEUE. QUEUE is modified.
Returns a list of unique symbols, generated by GENSYM. The SYMBOL-NAME of each element in SYMS is used as a prefix of the corresponding generated symbol. If KEY is provided the SYMBOL-NAME of the result returned by calling KEY with each element in SYMS is used as the prefix.
Creates a FIFO queue with initial elements ELEMS.
Creates a new package with name NEW-PACKAGE-NAME, if it does not
already exist, into which all external symbols in each package in
PACKAGES are imported, by SHADOWING-IMPORT. If the package is a
list with :INTERNAL as the first element, the internal symbols of
the package (with the name as the second element) are imported
instead.
The external symbols of each package in PACKAGES are imported in the order in which the package appears in the list, thus symbols imported from packages towards the end of the PACKAGES list will shadow symbols imported from packages at the beginning of the list.
Returns a list of the elements in QUEUE.
Returns true if QUEUE is empty.
Returns a list of N items obtained by calling the function FN N times.
Jump to: | D E F G L M N O Q R S U W |
---|
Jump to: | D E F G L M N O Q R S U W |
---|
Jump to: | A F L M P S |
---|
Jump to: | A F L M P S |
---|