HELP SYSFLAVOUR Mark Rubinstein, July 1986
SYSFLAVOUR is part of the flavours system. For more details of the
flavours system see TEACH * FLAVOURS or REF * FLAVOURS.
sysflavour(<name>, <component-list>, <lexical-ivar-vector>,
<dynamic-ivar-vector>, <method-list>, <before-daemon-list>,
<after-daemon-list>, <metaflavour>, <default-values-list>)
-> <flavour_record>;
This procedure which takes nine arguments is responsible for the
definition of (construction and alteration) of the class structures
(flavours). In most cases it is easier to use the syntax forms provided
(flavour..endflavour). See HELP * FLAVOUR.
SYSFLAVOUR returns the flavour record of the class.
The arguments are:
NAME - a word which is the name of the flavour to be constructed or
changed.
COMPONENT-LIST - a list of components (flavour records) that are the
direct superclasses of this flavour. The order is significant with
the first element having the most precedence.
LEXICAL-IVAR-VECTOR - a vector of names of lexical instance variables. It
is not necessary, but does not harm, to include those variable that
will be inherited from components.
DYNAMIC-IVAR-VECTOR - a vector of names of dynamic instance variables, as
above.
METHOD-LIST - a list of method records as constructed by
-consmethodrecord- to be used as primary methods. See the note on
constructing updater methods in REF * FLAVOURS /consmethodrecord.
BEFORE-DAEMON-LIST - a list of method records to be used as before
daemons. As above.
AFTER-DAEMON-LIST - a list of method records to be used as after daemons.
As above.
METAFLAVOUR - flavour record of the appropriate metaflavour (usually the
flavour record of -flavour_flavour-). If an existing flavour is being
changed this argument is ignored and can be -false-.
DEFAULT-VALUES-PAIR - a list of pairs associating instance variables with
default values. The pairs should be of the form
[value|variable-name]. If no default value is provided the precedence
list is searched for a value. If none is found then -undef- is the
initial value.
When -sysflavour- creates a new flavour it sends it the message
"initialise" (with an empty list as argument) to the flavour if it will
respond to the message. When -sysflavour- changes an existing flavour it
sends the message "flavour_changed" (with no argument) to the flavour if
it will respond to the message.
See also HELP * FLAVOUR and *DEFMETHOD, TEACH * FLAVOURS
and REF * FLAVOURS.
-----<Copyright University of Sussex 1986. All rights reserved.>-------Author: Mark Rubinstein, July 1986