This is the org.tfeb.conduit-packages Reference Manual, version 3.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Fri Sep 15 04:45:30 2023 GMT+0.
The main system appears first, followed by any subsystem dependency.
org.tfeb.conduit-packages
Conduit packages
Tim Bradshaw
MIT
3.0.0
conduit-packages.lisp
(file).
define-conduit-package.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
org.tfeb.conduit-packages/org.tfeb.conduit-packages.asd
org.tfeb.conduit-packages/conduit-packages.lisp
org.tfeb.conduit-packages/define-conduit-package.lisp
org.tfeb.conduit-packages/org.tfeb.conduit-packages.asd
org.tfeb.conduit-packages
(system).
org.tfeb.conduit-packages/conduit-packages.lisp
org.tfeb.conduit-packages
(system).
*underlying-implementation-map*
(special variable).
defpackage
(macro).
delete-package
(function).
export
(function).
recompute-conduits
(function).
rename-package
(function).
unexport
(function).
*conduit-package-descriptions*
(special variable).
*conduit-packages*
(special variable).
*package-conduits*
(special variable).
canonicalise-package-name
(function).
clean-package-alist
(function).
compute-clone-clauses
(function).
compute-conduit-clauses
(function).
conduit-error
(function).
conduit-error
(condition).
ensure-external-symbol
(function).
ensure-package
(function).
funcall/ul
(function).
make-package-conduit-package
(function).
note-conduit
(function).
note-conduits
(function).
recompute-conduits-for
(function).
underlying
(function).
validate-conduits
(function).
org.tfeb.conduit-packages/define-conduit-package.lisp
conduit-packages.lisp
(file).
org.tfeb.conduit-packages
(system).
define-conduit-package
(macro).
delete-conduit-package
(function).
export-from-conduit-package
(function).
rename-conduit-package
(function).
unexport-from-conduit-package
(function).
Packages are listed by definition order.
org.tfeb.conduit-packages/define-conduit-package
org.tfeb.cl/conduits
org.tfeb.cl-user/conduits
org.tfeb.conduit-packages
org.tfeb.conduit-packages/define-conduit-package
define-conduit-package
(macro).
delete-conduit-package
(function).
export-from-conduit-package
(function).
rename-conduit-package
(function).
unexport-from-conduit-package
(function).
org.tfeb.conduit-packages
common-lisp
.
*underlying-implementation-map*
(special variable).
defpackage
(macro).
delete-package
(function).
export
(function).
recompute-conduits
(function).
rename-package
(function).
unexport
(function).
*conduit-package-descriptions*
(special variable).
*conduit-packages*
(special variable).
*package-conduits*
(special variable).
canonicalise-package-name
(function).
clean-package-alist
(function).
compute-clone-clauses
(function).
compute-conduit-clauses
(function).
conduit-error
(function).
conduit-error
(condition).
ensure-external-symbol
(function).
ensure-package
(function).
funcall/ul
(function).
make-package-conduit-package
(function).
note-conduit
(function).
note-conduits
(function).
recompute-conduits-for
(function).
underlying
(function).
validate-conduits
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
An alist which maps from names which conduits provides new implementations for and their underlying implementation function names. You can use this if you want to layer conduits on top of some other system which already is providing its own versions of these names. By default the underlying names are just the standard CL functions.
A shim around the conduit packages DEFPACKAGE
Define a package. See CL:DEFPACKAGE for tha basics.
In addition, this version of DEFPACKAGE can define a ‘conduit package’:
that you can use as a conduit to extend existing packages.
This works by importing symbols from the existing packages and
then reexporting them. The syntax is as DEFPACKAGE, with the addition
of three new clauses:
(:EXTENDS package) takes package and reexports all its symbols;
(:EXTENDS/INCLUDING package . syms/names) reexports only syms/names;
(:EXTENDS/EXCLUDING package . syms/names) reexports all *but* syms/names.
When defining a conduit package you almost certainly will want to say (:USE)
to prevent the CL package being used.
This version of DEFPACKAGE also support ‘cloning’ packages: making another
package which is ‘just like’ an existing package. This means that all the
internal, exported and shadowing symbols in the clone will be the same as
those in the cloned package, but any additional things defined by DEFPACKAGE
will also take effect. This allows you to essentially make a copy of
a package which you can then use to define new functionality without
interning a lot of things in the original package. Cloning is a static
operation - packages do not know who their clones are, and no attempt is made
to keep clones up to date. Cloning is done by the clause
(:CLONES package)
Cloning is not compatible with extending (this is checked).
As with extending you probably want to specify (:USE) when cloning.
A shim around the conduit packages DELETE-PACKAGE
A shim around the conduit packages EXPORT
Clean up the lists of conduits, and recompute all conduit packages to make them consistent
A shim around the conduit packages RENAME-PACKAGE
A shim around the conduit packages UNEXPORT
package-error
.
simple-error
.
Jump to: | C D E F M N R U V |
---|
Jump to: | C D E F M N R U V |
---|
Jump to: | *
S |
---|
Jump to: | *
S |
---|
Jump to: | C D F O P S |
---|
Jump to: | C D F O P S |
---|