This is the lisp-namespace Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Tue Jul 15 05:47:11 2025 GMT+0.
The main system appears first, followed by any subsystem dependency.
lisp-namespaceProvides LISP-N — extensible namespaces in Common Lisp.
Masataro Asai
LLGPL
0.1
alexandria (system).
src (module).
Modules are listed depth-first from the system components tree.
lisp-namespace/srclisp-namespace (system).
package.lisp (file).
namespace.lisp (file).
namespace-let.lisp (file).
Files are sorted by type and then listed depth-first from the systems components trees.
lisp-namespace/lisp-namespace.asdlisp-namespace/src/package.lisplisp-namespace/src/namespace.lisplisp-namespace/src/namespace-let.lisplisp-namespace/lisp-namespace.asdlisp-namespace (system).
lisp-namespace/src/package.lispsrc (module).
define-namespace (macro).
make-load-form (method).
print-object (method).
%namespace (function).
%namespace (structure).
%namespace-accessor (reader).
%namespace-boundp (reader).
%namespace-condition (reader).
%namespace-doc-table (reader).
%namespace-hash (reader).
%namespace-letname (reader).
%namespace-name (reader).
%namespace-p (function).
%namespace-type (reader).
*namespace-hash* (special variable).
copy-%namespace (function).
keep-upcase-or-preserve (function).
lisp-namespace/src/namespace.lisppackage.lisp (file).
src (module).
clear-namespace (function).
*namespace-doc-table* (special variable).
*namespace-table* (special variable).
namespace-boundp (function).
namespace-type (type).
symbol-namespace (function).
(setf symbol-namespace) (function).
unbound-namespace (condition).
lisp-namespace/src/namespace-let.lispnamespace.lisp (file).
src (module).
namespace-let (macro).
Packages are listed by definition order.
lisp-namespaceThis package provides a method to define additional namespaces for lisp.
Common lisp is lisp-2, which means it has a different namespaces for the
value and the function. With lisp-namespace, you can define arbitrary additional
namespaces and its accessors as well.
The idea is simple. Common lisp has ‘symbol-value’ and ‘symbol-function’,
so I added ‘symbol-anything-you-like’. Current implementation is
built on a hashtable.
lispn
alexandria.
common-lisp.
clear-namespace (function).
define-namespace (macro).
namespace-let (macro).
nslet (macro).
%merge (function).
%namespace (function).
%namespace (structure).
%namespace-accessor (reader).
%namespace-boundp (reader).
%namespace-condition (reader).
%namespace-doc-table (reader).
%namespace-hash (reader).
%namespace-letname (reader).
%namespace-name (reader).
%namespace-p (function).
%namespace-type (reader).
%pickone (function).
%wrap (function).
*namespace-doc-table* (special variable).
*namespace-hash* (special variable).
*namespace-table* (special variable).
copy-%namespace (function).
keep-upcase-or-preserve (function).
namespace-boundp (function).
namespace-type (type).
symbol-namespace (function).
(setf symbol-namespace) (function).
unbound-namespace (condition).
Definitions are sorted by export status, category, package, and then by lexicographic order.
This macro defines a namespace. For the given name of namespace X,
DEFINE-NAMESPACE defines 4 functions/macros:
+ #’SYMBOL-X, #’(setf SYMBOL-X) : accessor to the global binding. Optionally,
EXPECTED-TYPE provides FTYPE proclamation and results in the
better optimization. EXPECTED-TYPE is not evaluated.
+ #’X-BOUNDP : unary function returning a boolean
+ condition UNBOUND-X which is signaled when trying to access the value of an unbounded symbol.
+ macro (X-LET (binding...) body) : lexical binding. It is defined when BINDING is non-nil.
Bindings is a list of bindings where each car is of form (NAMESPACE NAME),
or a symbol NAME for a variable namespace.
function, macro, label, symbol-macro, handler, restart is by default recognized as a namespace.
Example:
(namespace-let ((#’x (y) (1+ y)) ; – equivalent to ((function x) (y) (1+ y))
((macro x) (y) (1+ y))
((macro y) (y) (1+ y))
(#’x (y) (1+ y))
((label y) (y) (y y))
((symbol-macro sm) 0)
(b 0))
(let ((b 1))
(print :x)))
Bindings is a list of bindings where each car is of form (NAMESPACE NAME),
or a symbol NAME for a variable namespace.
function, macro, label, symbol-macro, handler, restart is by default recognized as a namespace.
Example:
(namespace-let ((#’x (y) (1+ y)) ; – equivalent to ((function x) (y) (1+ y))
((macro x) (y) (1+ y))
((macro y) (y) (1+ y))
(#’x (y) (1+ y))
((label y) (y) (y y))
((symbol-macro sm) 0)
(b 0))
(let ((b 1))
(print :x)))
Get rid of all values bound in the given namespaces.
%namespace) &optional environment) ¶%namespace) s) ¶Automatically defined boolean function.
Automatically defined getter function. When DEFAULT is supplied, the value is set automatically.
Automatically defined setter function.
unbound-variable.
structure-object.
symbol
(error "anonymous namespace?")
This slot is read-only.
symbol
This slot is read-only.
symbol
This slot is read-only.
common-lisp.
symbol
This slot is read-only.
common-lisp.
symbol
This slot is read-only.
common-lisp.
symbol
This slot is read-only.
symbol
This slot is read-only.
symbol
This slot is read-only.
| Jump to: | %
(
C D F K M N P S |
|---|
| Jump to: | %
(
C D F K M N P S |
|---|
| Jump to: | *
A B C D H L N S T |
|---|
| Jump to: | *
A B C D H L N S T |
|---|
| Jump to: | %
C F L M N P S T U |
|---|
| Jump to: | %
C F L M N P S T U |
|---|