This is the modularize-interfaces Reference Manual, version 0.9.3, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 08 19:00:44 2024 GMT+0.
modularize-interfaces/modularize-interfaces.asd
modularize-interfaces/package.lisp
modularize-interfaces/toolkit.lisp
modularize-interfaces/component.lisp
modularize-interfaces/standard-components.lisp
modularize-interfaces/interface.lisp
modularize-interfaces/module.lisp
modularize-interfaces/indent.lisp
The main system appears first, followed by any subsystem dependency.
modularize-interfaces
Programmatical interfaces extension for Modularize
Yukari Hafner <shinmera@tymoon.eu>
Yukari Hafner <shinmera@tymoon.eu>
(GIT https://github.com/Shinmera/modularize-interfaces.git)
zlib
0.9.3
modularize
(system).
trivial-indent
(system).
trivial-arguments
(system).
lambda-fiddle
(system).
package.lisp
(file).
toolkit.lisp
(file).
component.lisp
(file).
standard-components.lisp
(file).
interface.lisp
(file).
module.lisp
(file).
indent.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
modularize-interfaces/modularize-interfaces.asd
modularize-interfaces/package.lisp
modularize-interfaces/toolkit.lisp
modularize-interfaces/component.lisp
modularize-interfaces/standard-components.lisp
modularize-interfaces/interface.lisp
modularize-interfaces/module.lisp
modularize-interfaces/indent.lisp
modularize-interfaces/modularize-interfaces.asd
modularize-interfaces
(system).
modularize-interfaces/package.lisp
modularize-interfaces
(system).
modularize-interfaces/toolkit.lisp
package.lisp
(file).
modularize-interfaces
(system).
defmacro*
(macro).
defmethod*
(macro).
defun*
(macro).
*redefine*
(special variable).
function-lambda-matches
(function).
intern-function-name
(function).
make-keyword
(function).
with-muffled-warnings
(macro).
modularize-interfaces/component.lisp
toolkit.lisp
(file).
modularize-interfaces
(system).
component-alias
(function).
(setf component-alias)
(function).
define-component-expander
(macro).
define-component-tester
(macro).
expand-component
(generic function).
*component-alias*
(special variable).
component
(reader method).
(setf component)
(writer method).
component-test-failed
(condition).
expand-components
(macro).
requested
(reader method).
(setf requested)
(writer method).
result
(reader method).
(setf result)
(writer method).
test-component
(generic function).
test-components
(function).
modularize-interfaces/standard-components.lisp
component.lisp
(file).
modularize-interfaces
(system).
defimpl
(macro).
expand-component
(method).
expand-component
(method).
expand-component
(method).
expand-component
(method).
expand-component
(method).
expand-component
(method).
expand-component
(method).
expand-component
(method).
i-defmacro
(macro).
i-defmethod
(macro).
i-defun
(macro).
check-function-name
(function).
emit-class-def
(function).
test-component
(method).
test-component
(method).
modularize-interfaces/interface.lisp
standard-components.lisp
(file).
modularize-interfaces
(system).
define-interface
(macro).
define-interface-extension
(macro).
generate-interface-stub
(function).
implementation
(function).
(setf implementation)
(function).
interface
(function).
interface-already-implemented
(condition).
interface-not-found
(condition).
interface-p
(function).
print-interface-stub
(function).
reset-interface
(function).
test-interface
(function).
current
(reader method).
expand-interface
(macro).
new
(reader method).
requested
(reader method).
requested
(reader method).
modularize-interfaces/module.lisp
interface.lisp
(file).
modularize-interfaces
(system).
implements
(function).
modularize-interfaces/indent.lisp
module.lisp
(file).
modularize-interfaces
(system).
Packages are listed by definition order.
modularize-interfaces
org.shirakumo.radiance.lib.modularize.interfaces
interfaces
common-lisp
.
lambda-fiddle
.
modularize
.
trivial-arguments
.
trivial-indent
.
component-alias
(function).
(setf component-alias)
(function).
defimpl
(macro).
define-component-expander
(macro).
define-component-tester
(macro).
define-interface
(macro).
define-interface-extension
(macro).
defmacro*
(macro).
defmethod*
(macro).
defun*
(macro).
expand-component
(generic function).
generate-interface-stub
(function).
i-defmacro
(macro).
i-defmethod
(macro).
i-defun
(macro).
implementation
(function).
(setf implementation)
(function).
implements
(function).
interface
(function).
interface-already-implemented
(condition).
interface-not-found
(condition).
interface-p
(function).
print-interface-stub
(function).
reset-interface
(function).
test-interface
(function).
*component-alias*
(special variable).
*redefine*
(special variable).
check-function-name
(function).
component
(generic reader).
(setf component)
(generic writer).
component-test-failed
(condition).
current
(generic reader).
emit-class-def
(function).
expand-components
(macro).
expand-interface
(macro).
function-lambda-matches
(function).
intern-function-name
(function).
make-keyword
(function).
new
(generic reader).
requested
(generic reader).
(setf requested)
(generic writer).
result
(generic reader).
(setf result)
(generic writer).
test-component
(generic function).
test-components
(function).
with-muffled-warnings
(macro).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Expands to I-DEFMACRO, I-DEFMETHOD or I-DEFUN depending on what kind of symbol it names.
Defines a new component expander for interface definitions.
The NAME can be a list of names that will be aliased to the first one. All names will be turned into keywords to allow for differing naming schemes in the component definitions. INTERFACE should be a symbol to which the interface package is bound. ARGUMENTS is the lambda-list used to deconstruct the arguments of the component definition.
Defines a new testing method for a component type.
The structure of this macro is the same as for DEFINE-COMPONENT.
Defines a new interface.
This defines a new module with the given name and nicks, as well
as a fully qualified interface identifier which is the name prefixed
by MODULARIZE.INT. . It then calls EXPAND-INTERFACE on the new module
and finally expands the component definitions as per EXPAND-COMPONENTS.
Currently not implemented.
Expands to a conditional macro definition that only happens if either *REDEFINE* is T or the macro has not yet been defined.
Expands to a conditional method definition that only happens if either *REDEFINE* is T or the method has not yet been defined.
Expands to a conditional function definition that only happens if either *REDEFINE* is T or the function has not yet been defined.
Expands to an interface macro definition.
Expands to an interface method definition.
Expands to an interface function definition.
Returns the actual component name the given alias points to or itself if it is not resolved..
Sets a new alias for the given component-name.
Generates a stub for the INTERFACE that you can use as an implementation starting point. Symbols are interned into PACKAGE where appropriate.
Returns the currently active implementation of the interface.
Attempts to set the implementation of an interface.
Interfaces can only be implemented by modules and if a different
module already implements the interface a condition is signalled.
The following restarts are available:
DELETE Deletes the old implementation through DELETE-MODULE.
OVERRIDE Overrides the implementation and leaves the old module.
ABORT Aborts the setting of the implementation completely.
If the implementation setting was successful, TEST-INTERFACE is called. If the implementation is set to NIL, RESET-INTERFACE is called.
Returns a list of interfaces this module implements.
Returns the interface package module as identified by the object. See MODULE for more.
Returns T if the passed object is or names an interface, otherwise NIL.
Print the stub of GENERATE-INTERFACE-STUB in a way that is easily copy-pastable.
Resets the interface by redefining it with stubs as per its component definitions.
Tests the interface for definition conformity. See TEST-COMPONENTS.
Generic function used to expand components into their proper forms.
(eql :variable)
) args0 &key interface) ¶(eql :method)
) args0 &key interface) ¶(eql :generic)
) args0 &key interface) ¶(eql :class)
) args0 &key interface) ¶(eql :condition)
) args0 &key interface) ¶(eql :macro)
) args0 &key interface) ¶(eql :function)
) args0 &key interface) ¶(eql :type)
) args0 &key interface) ¶Condition signalled if an interface is already implemented by a different module than was attempted to register as an implementation.
error
.
(quote (error "interface required."))
:interface
This slot is read-only.
(quote (error "current required."))
:current
This slot is read-only.
Condition signalled if an interface was requested but could not be found.
error
.
Table of aliases for component names.
Special variable that dictates whether already defined functions should be redefined by defun*, defmacro*, defmethod*.
Expands the component definitions for the INTERFACE to their proper forms.
Expands the given interface into its basic form.
Calls the body with redefinition warnings muffled.
Currently only implemented on: SBCL
Returns T if the function matches the lambda-list in arguments.
As a secondary value it returns a reason as to why it may have failed the test.
Interns the function name into the package. This has special handling for (SETF NAME).
Returns the matching keyword for the NAME.
Tests the interface against the component-definitions to see if it matches.
That is to say, the passed component-defs tell what the interface should look like
and this function will test if the defined components match this definition
to a certain extent.
How well and thorough the tests are depends on the component itself and its test function. Certain components may even not provide any tests at all.
component-test-failed
)) ¶component-test-failed
)) ¶interface-already-implemented
)) ¶interface-already-implemented
)) ¶%new
.
component-test-failed
)) ¶component-test-failed
)) ¶interface-already-implemented
)) ¶interface-not-found
)) ¶component-test-failed
)) ¶component-test-failed
)) ¶Tests a component type for validity.
Condition signalled when the test of an interface component failed for some reason.
warning
.
(quote (error "interface required."))
:interface
(quote (error "component required."))
:component
(quote nil)
:result
Jump to: | (
C D E F G I M N P R T W |
---|
Jump to: | (
C D E F G I M N P R T W |
---|
Jump to: | %
*
S |
---|
Jump to: | %
*
S |
---|
Jump to: | C F I M P S T |
---|
Jump to: | C F I M P S T |
---|