Defmake-self-implementation
Implementation of defmake-self.
The implementation functions have arguments and results
consistently named as follows
(unless otherwise stated, explicitly or implicitly,
in the functions):
- type is the homonymous input to the event macro.
- print is the homonymous input to the event macro.
- parents is the homonymous input to the event macro.
- short is the homonymous input to the event macro.
- long is the homonymous input to the event macro.
- type is either the name of an FTY type, or the name of a type clique.
- fty-table is the alist of the table of all (fix)types
(except some built-in ones, such as nat),
i.e. the table 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.
- make-self-table is the alist of the table of registered ``make-self''
functions. A type name maps to the corresponding ``make-self'' function.
A non-singleton type clique name maps to nil to indicate that
``make-self'' functions have been generated and registered for all functions
in the clique.
Implementation functions' arguments and results
that are not listed above
are described in, or clear from,
those functions' documentation.
Subtopics
- Defmake-self-event-generation
- Event generation performed by defmake-self.
- Defmake-self-process-inputs-and-gen-everything
- Process the inputs and generate the events.
- Defmake-self-fn
- Event expansion of defmake-self.
- Defmake-self-input-processing
- Input processing performed by defmake-self.
- Defmake-self-macro-definition
- Definition of defmake-self.