nil, or list of parameters params in the top level form, optionally ending with
The body of a parser function.
A parser function parser-function.
A dspec class or alias alias.
The parser function defined is named by parser-function. If the
:parser option is omitted then the name defaults to a symbol in the current package whose symbol name is the symbol name of definer with
If parameters and body are given, then parser-function is defined as a global function that is expected to return a dspec for the defining form or
nil if this is not possible. Within body, definer is bound to the
car of the actual form being parsed. In simple cases, this is just definer, but if the form parser is used as in the
:alias option of another form parser then the symbol will be bound to the
car of that form instead.
The params are bound to subsequent subforms of the defining form. If
&rest param-getter is supplied, then it is bound to a function of no arguments that returns two values: the next subform if there is one and a boolean to indicate if a subform was found.
If parameters and body are omitted, then parser-function is expected to be a form parser defined by a different
define-form-parser form, or you can specify as an alias a definer with an existing form parser via the value alias of the
:alias key in options.
:anonymous option is non-nil then definer is not associated with the form parser. This is useful in conjunction with parameters and body for defining generic form parsers that can be used in other
LispWorks contains pre-defined form parser functions for the Common Lisp definers
deftype and for LispWorks definers such as
When a defining symbol definer has an associated form parser, this parser function is used by the source location commands such as Expression > Find Source in the LispWorks IDE. Having identified the file where the definition was recorded, LispWorks parses the top level forms in the file looking for the one which matches the definition spec. When found, this match is displayed.
Define a new way to define CLOS methods, and tell the dspec system to treat them the same. Note the use of
define-dspec-alias to inform the dspec system that
my-defmethod is another way of naming
LispWorks User Guide and Reference Manual - 20 Sep 2017