This is the darts.lib.tools Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 05:53:59 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
darts.lib.tools
More or less useful utilities
Dirk Esser
Dirk Esser
MIT
0.1
atomics
(system).
src
(module).
Modules are listed depth-first from the system components tree.
darts.lib.tools/src
darts.lib.tools
(system).
packages.lisp
(file).
properties.lisp
(file).
iteration.lisp
(file).
observable.lisp
(file).
misc.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
darts.lib.tools/darts.lib.tools.asd
darts.lib.tools/src/packages.lisp
darts.lib.tools/src/properties.lisp
darts.lib.tools/src/iteration.lisp
darts.lib.tools/src/observable.lisp
darts.lib.tools/src/misc.lisp
darts.lib.tools/darts.lib.tools.asd
darts.lib.tools
(system).
darts.lib.tools/src/properties.lisp
packages.lisp
(file).
src
(module).
define-structure-property-list
(macro).
delete-properties
(function).
delete-properties-if
(function).
delete-properties-if-not
(function).
delete-property
(function).
do-properties
(macro).
ensure-property
(function).
map-over-properties
(function).
property-list
(generic function).
property-support
(class).
property-value
(function).
(setf property-value)
(function).
remove-properties
(function).
remove-properties-if
(function).
remove-properties-if-not
(function).
remove-property
(function).
shared-initialize
(method).
update-property-list
(generic function).
update-property-value
(function).
copy-with-tail
(function).
make-plist-cell
(macro).
plist-cell
(type).
plist-cell-read
(macro).
plist-cell-update
(macro).
darts.lib.tools/src/iteration.lisp
packages.lisp
(file).
src
(module).
label
(macro).
named-loop
(macro).
darts.lib.tools/src/observable.lisp
packages.lisp
(file).
src
(module).
add-observer
(generic function).
add-observer-to-chain
(function).
do-observers-in-chain
(macro).
make-observer-chain
(function).
notify-observers
(generic function).
notify-observers-in-chain
(function).
observable
(class).
observe-event
(generic function).
observer-chain-entries
(reader).
(setf observer-chain-entries)
(writer).
observer-chain-next
(reader).
observer-chain-p
(function).
parent-observer-chain
(generic function).
print-object
(method).
remove-observer
(generic function).
remove-observer-from-chain
(function).
shared-initialize
(method).
observer-chain
(structure).
darts.lib.tools/src/misc.lisp
packages.lisp
(file).
src
(module).
preserving-evaluation-order
(macro).
Packages are listed by definition order.
darts.lib.tools.observables
add-observer
(generic function).
add-observer-to-chain
(function).
do-observers-in-chain
(macro).
make-observer-chain
(function).
notify-observers
(generic function).
notify-observers-in-chain
(function).
observable
(class).
observe-event
(generic function).
observer-chain-entries
(reader).
(setf observer-chain-entries)
(writer).
observer-chain-next
(reader).
observer-chain-p
(function).
parent-observer-chain
(generic function).
remove-observer
(generic function).
remove-observer-from-chain
(function).
darts.lib.tools
common-lisp
.
darts.lib.tools.observables
.
darts.lib.tools.properties
.
label
(macro).
named-loop
(macro).
preserving-evaluation-order
(macro).
copy-with-tail
(function).
make-plist-cell
(macro).
observer-chain
(structure).
observer-list-chain
(slot).
plist-cell
(type).
plist-cell-read
(macro).
plist-cell-update
(macro).
darts.lib.tools.properties
define-structure-property-list
(macro).
delete-properties
(function).
delete-properties-if
(function).
delete-properties-if-not
(function).
delete-property
(function).
do-properties
(macro).
ensure-property
(function).
map-over-properties
(function).
property-list
(generic function).
property-support
(class).
property-value
(function).
(setf property-value)
(function).
remove-properties
(function).
remove-properties-if
(function).
remove-properties-if-not
(function).
remove-property
(function).
update-property-list
(generic function).
update-property-value
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Declares support for a property list slot in the given structure type.
For this to work, the given ‘accessor’ must be a ‘setf’-able accessor
for some slot of type ‘structure-type’, that should be declared to
have type ‘t’ or ‘list’. E.g.:
(defstruct window
(plist nil)
(parent nil)
(title ’window))
(define-structure-property-list window window-plist)
A property list slot should usually never be assigned to directly, since that may break the atomic update feature. Always manipulate the contents of the property list slot via the functions provided by this library.
Removes all properties listed in ‘which’ from ‘object”s
property list. If ‘which’ is omitted or ‘t’ (the default)
removes all properties. Otherwise, it must be a list
containing the indicators of all properties that should
be removed.
This function returns a plist of all key/value pairs that have been removed by the call.
Deletes all properties from the property list of ‘object’ that
satisfy the predictate function ‘predicate’. The predicate must
be a function of two arguments returning a boolean value. The
first argument is the property’s key, and the second argument
is the property’s value.
This function returns a plist of all key/value pairs, that have been removed by the call.
Deletes all properties from the property list of ‘object’ that
fail to satisfy the predictate function ‘predicate’. The predicate must
be a function of two arguments returning a boolean value. The
first argument is the property’s key, and the second argument
is the property’s value.
This function returns a plist of all key/value pairs, that have been removed by the call.
Delete the property named by ‘indicator’ from ‘object”s property list. Answers the value of the removed property as primary result. The secondary value is a boolean flag that indicates, whether the property has been found (and hence removed, ‘t’) or not (‘nil’).
Makes sure, that ‘object’ has a property named ‘indicator’. If
such a property already exists, this function does nothing. Otherwise,
the function calls the ‘constructor’ function to generate a value, and
stores it as ‘indicator”s value in ‘object”s property list.
Note, that ‘constructor’ may be called multiple times, and should
not have side-effects. Also, even if it is called, there are no
guarantees, that any value returned by it gets actually installed
in ‘object”s property list, since the call may lose the race with
another thread.
This function returns the value found (or constructed) as primary result. The secondary result is ‘t’ if the property already existed, and ‘nil’ if it has been installed by the call.
Applies ‘function’ to each property of ‘object’. The function receives the property indicator as first, and the associated values as second argument. The return value of the function is ignored. This function always returns ‘object’.
Answers the value of the property named by ‘indicator’ of the given ‘object’. If no matching property is found, answers ‘default’ instead. This function returns as secondary value a boolean flag, which indicates, whether the property was found or not.
Sets the value of the property named by ‘indicator’ of the given ‘object’ to ‘value’. The optional ‘default’ is ignored and taken only for compatibility with ‘object-property’.
Adds the given ‘observer‘ to the set of registered
event observers of ‘object‘, unless it is already present.
observable
) &key test key identity) ¶Notifies all registered event observers of ‘object‘ about the occurence of ‘event‘.
observable
) event) ¶Invoked in order to notify ‘observer‘, that the event described by ‘event‘ has happened with respect to ‘object‘.
function
) object event) ¶Answers the property list of ‘object’. The
result is a property list of th form
(indicator1 value1 indicator2 value2 ...)
i.e., a list, whose elements are pairs of keys and their associated values. The keys are always compared using ‘eql’. The caller must never modify the return value of this function.
property-support
)) ¶Removes the given ‘observer‘ from the set of registered event observers of ‘object‘
observable
) &key test key) ¶Modifies the property list of ‘object’ by applying
the function ‘modifier’ to the current property list, and storing
the result as the new property list. On implementations, which
support it, this should be an atomic update.
The ‘modifier’ function is not allowed to modify the list
destructively.
The modifier function returns two values: the new property list as first, and some other value as second one. This function returns the value returned by the modifier as second result.
property-support
) modifier) ¶observer-chain
) stream) ¶Minimal mix-in class, which supports the object
annotation protocol. By mixing this class into a class hierarchy,
all instances gain support for function ‘property’ and
all related functions. The property list is (re-) initializable;
note, however, that the initarg is named ‘property-list’
as exported from this package, *not* by a keyword symbol.
The property lists of instances of this class are upated
atomically.
darts.lib.tools::plist-cell
Jump to: | (
A C D E F G L M N O P R S U |
---|
Jump to: | (
A C D E F G L M N O P R S U |
---|
Jump to: | E N O P S |
---|
Jump to: | E N O P S |
---|
Jump to: | C D F I M O P S T |
---|
Jump to: | C D F I M O P S T |
---|