For some purposes, most usefully trace and defadvice, LispWorks allows dspecs that do not name a global definition, but a local function. These are of the form:
(subfunction sub-name parent-dspec)
where parent-dspec is another dspec (possibly a subfunction dspec itself). For
labels, it is also possible to use the form:
An alias for
(subfunction (flet sub-name
An alias for
(subfunction (labels sub-name
sub-name is the name of the subfunction inside the parent, which by default is determined as follows:
labels, the name is a two element list of the form
), where function-name is the function name in the
You can override the default name by using the LispWorks-specific
hcl:lambda-name declaration (see declare). Note that you should use the form
(declare (lambda-name (subfunctionsub-name
to get a name that is useful for debugging. If you do not use
subfunction, then the debugger cannot find the source for function.
equal) the subfunction name in the dspec to the name of each subfunction in the parent function.
(top-level-form (location tlf))
location is an atomic location (not containing
:inside) and tlf identifies the top-level form within that location. These are used as parent dspecs in subfunction dspecs and
:inside locations. These dspecs can be canonicalized and prettified, and can be returned as dspecs from the location finders.
LispWorks User Guide and Reference Manual - 20 Sep 2017