This is the lisp-namespace Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 08 18:47:36 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
lisp-namespace
Provides 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/src
lisp-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.asd
lisp-namespace/src/package.lisp
lisp-namespace/src/namespace.lisp
lisp-namespace/src/namespace-let.lisp
lisp-namespace/lisp-namespace.asd
lisp-namespace
(system).
lisp-namespace/src/package.lisp
src
(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.lisp
package.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.lisp
namespace.lisp
(file).
src
(module).
namespace-let
(macro).
Packages are listed by definition order.
lisp-namespace
This 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 |
---|