This is the method-combination-utilities Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 07:02:38 2024 GMT+0.
method-combination-utilities/method-combination-utilities.asd
method-combination-utilities/package.lisp
method-combination-utilities/definition-helpers.lisp
method-combination-utilities/method-combinations.lisp
method-combination-utilities/method-combination-expand.lisp
The main system appears first, followed by any subsystem dependency.
method-combination-utilities
Various method combinations and utilities to make it easy to create new method combinations.
Greg Pfeil <greg@technomadic.org>
MIT
See README.md
closer-mop
(system).
package.lisp
(file).
definition-helpers.lisp
(file).
method-combinations.lisp
(file).
method-combination-expand.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
method-combination-utilities/method-combination-utilities.asd
method-combination-utilities/package.lisp
method-combination-utilities/definition-helpers.lisp
method-combination-utilities/method-combinations.lisp
method-combination-utilities/method-combination-expand.lisp
method-combination-utilities/method-combination-utilities.asd
method-combination-utilities
(system).
method-combination-utilities/package.lisp
method-combination-utilities
(system).
method-combination-utilities/definition-helpers.lisp
package.lisp
(file).
method-combination-utilities
(system).
call-methods
(function).
combine-standard-methods
(function).
wrap-primary-form
(function).
method-combination-utilities/method-combinations.lisp
package.lisp
(file).
method-combination-utilities
(system).
append/nconc
(method combination).
basic
(method combination).
lax
(method combination).
primary
(method combination).
method-combination-utilities/method-combination-expand.lisp
package.lisp
(file).
method-combination-utilities
(system).
method-combination-expand
(macro).
method-combination-expander-function
(function).
method-combination-expansion-form
(function).
Packages are listed by definition order.
method-combination-utilities
closer-common-lisp
.
closer-mop
.
append/nconc
(method combination).
basic
(method combination).
call-methods
(function).
combine-standard-methods
(function).
lax
(method combination).
method-combination-expand
(macro).
primary
(method combination).
wrap-primary-form
(function).
method-combination-expander-function
(function).
method-combination-expansion-form
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Given a function call form, this returns the method-combination form that would be generated in the process of satisfying that call. This is only expected to work for functions whose method-combination was created using the long form of DEFINE-METHOD-COMBINATION.
It’s rare to see a method combination that doesn’t define this method, so might as well pull it into this utilities package. CALL-METHODS returns a list of CALL-METHOD forms; one for each method in METHODS
It is fairly common practice to take the STANDARD method combination and wrap it with additional qualified methods. This encapsulates the standard behavior as much as possible to make wrapping simpler. Each argument should be a list of methods to be handled the way the corresponding methods are in the STANDARD method combination. It assumes all the lists are ordered properly already. See the LAX method combination in this package for an example.
This is similar to COMBINE-STANDARD-METHODS, but it takes an already- generated primary form rather than a list of primary methods. This is because it is fairly common for a method combination to deal with primary methods in some specialized way, then combine them with normal :AROUND/:BEFORE/:AFTER methods. See the BASIC and APPEND/NCONC combinations in this package for examples.
This is an improvement on the built-in APPEND method combination, which uses the short form of DEFINE-METHOD-COMBINATION. This allows either ‘NCONC‘ or ‘APPEND‘ to be used as a qualifier depending on whether or not the method returns a list where the last cons can be modified. If all but the last primary methods specify ‘NCONC‘, then ‘NCONC‘ will be used, otherwise, ‘APPEND‘.
This combination removes the need for the built-in combinations (other than
STANDARD) and the short form of DEFINE-METHOD-COMBINATION.
Differences from old built-in usage:
* specify as ’(basic progn t :most-specific-last) instead of
’(progn :most-specific-last)
* can specify an arbitrary operator without having to first
DEFINE-METHOD-COMBINATION
* IDENTITY-WITH-ONE-ARGUMENT[-P] is now specified at usage rather than
definition
* :BEFORE and :AFTER methods are allowed.
This combination allows (and ignores) additional method qualifiers after any of the ‘STANDARD‘ qualifiers. It is useful if you are handling your qualifiers in a custom method class.
This simple method combination requires that no methods have any qualifiers. Methods are treated exactly like primary methods in the STANDARD method combination.
Jump to: | A B C F L M P W |
---|
Jump to: | A B C F L M P W |
---|
Jump to: | D F M P S |
---|
Jump to: | D F M P S |
---|