Defpred-implementation
Implementation of defpred.
The implementation functions have arguments and results
consistently named as follows
(unless otherwise stated, explicitly or implicitly,
in the functions):
- suffix is the homonymous input to the event macro.
- default is the homonymous input to the event macro.
- override is the homonymous input to the event macro.
- overrides is an alist representation of the :override input.
With reference to the documentation page of defpred:
for each element <type> <term> in :override,
this alist has an element (cons <type> <term>);
for each element <type> <kind> <term> in :override,
this alist has an element (cons (cons <type> <kind>) <term>).
- fty-table is the alist of the table of all (fix)types
(except some built-in ones, such as nat),
i.e. the table fty::flextypes-table.
The format is defined in [books]/centaur/fty/database.lisp.
It has one entry for each mutually recursive clique of types,
with singly recursive or non-recursive types
being in singleton cliques.
- types is a list (in no particular order)
of all the type names for which predicates are generated.
- type is an element of types explained above.
Implementation functions' arguments and results
that are not listed above
are described in, or clear from,
those functions' documentation.
Subtopics
- Defpred-event-generation
- Event generation performed by defpred.
- Defpred-library-extensions
- Some FTY library extensions for defpred.
- Defpred-process-inputs-and-gen-everything
- Process the inputs and generate the events.
- Defpred-fn
- Event expansion of defpred.
- Defpred-input-processing
- Input processing performed by defpred.
- Defpred-macro-definition
- Definition of defpred.