This is the compiler-macro-notes Reference Manual, version 0.3.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 05:49:35 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
compiler-macro-notes
Provides a macro and some conditions for use within macros and compiler-macros.
Shubhamkar B. Ayare
MIT
0.3.1
alexandria
(system).
cl-environments
(system).
package.lisp
(file).
notes.lisp
(file).
with-notes.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
compiler-macro-notes/compiler-macro-notes.asd
compiler-macro-notes/package.lisp
compiler-macro-notes/notes.lisp
compiler-macro-notes/with-notes.lisp
compiler-macro-notes/compiler-macro-notes.asd
compiler-macro-notes
(system).
compiler-macro-notes/package.lisp
compiler-macro-notes
(system).
compiler-macro-notes/notes.lisp
package.lisp
(file).
compiler-macro-notes
(system).
muffle
(function).
note
(condition).
optimization-failure-note
(condition).
args
(reader method).
datum
(reader method).
muffled-p
(reader method).
(setf muffled-p)
(writer method).
compiler-macro-notes/with-notes.lisp
notes.lisp
(file).
compiler-macro-notes
(system).
*muffled-notes-type*
(special variable).
augment-expansion-path
(function).
with-notes
(macro).
*swank-signalled-notes*
(special variable).
stable-set-difference
(function).
swank-signal
(function).
with-notes-function
(function).
Packages are listed by definition order.
compiler-macro-notes
alexandria
.
cl-environments.cltl2
.
common-lisp
.
*muffled-notes-type*
(special variable).
augment-expansion-path
(function).
muffle
(function).
note
(condition).
optimization-failure-note
(condition).
with-notes
(macro).
*swank-signalled-notes*
(special variable).
args
(generic reader).
datum
(generic reader).
muffled-p
(generic reader).
(setf muffled-p)
(generic writer).
stable-set-difference
(function).
swank-signal
(function).
with-notes-function
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Bound to a type. Notes that are of type given by the value of this variable
will not be printed.
Example:
- No notes will be printed if values is T.
- Optimization notes will not be printed if values is
COMPILER-MACRO-NOTES:OPTIMIZATION-FAILURE-NOTE
The compile time value of this variable is OR-ed with the MUFFLE declarations to decide which notes to muffle.
A macro to readably signal COMPILER-MACRO-NOTES:NOTE for end-users:
- Expects ENV-VAR to evaluate to an environment suitable for passing to
CL-ENVIRONMENTS.CLTL2:DEFINE-DECLARATION
- BODY is surrounded by a (BLOCK WITH-NOTES ...) on the outside
- Further, WITH-NOTES also wraps the BODY in an UNWIND-PROTECT and prints the
conditions that were signalled before exiting. If UNWIND-ON-SIGNAL is non-NIL,
then returns FORM if a condition was signalled, else if no condition was
signalled returns the (primary) return value of BODY.
- If UNWIND-ON-SIGNAL is NIL, surrounds BODY in a HANDLER-BIND and prints all
the compiler notes that were signalled. If non-NIL, prints only the first
signalled note.
- OPTIMIZATION-FAILURE-NOTEs are printed only if OPTIMIZATION-NOTE-CONDITION
form evaluates to non-NIL: OPTIMIZATION-NOTE-CONDITION is expected to be a
form.
- OTHER-CONDITIONS is a type-specifier that indicates which other conditions
should be reported.
- If the user code in BODY does result in an expansion, then it is expected to
avoid performing a nonlocal exit to a place outside WITH-NOTES. Not
doing so could result in an incorrect print of the expansion paths.
Do not print this NOTE.
As a declaration, this takes in type specifiers as arguments.
Jump to: | (
A D F G M S W |
---|
Jump to: | (
A D F G M S W |
---|
Jump to: | *
A D M S |
---|
Jump to: | *
A D M S |
---|
Jump to: | C F N O P S W |
---|
Jump to: | C F N O P S W |
---|