Search                        Top                                  Index
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
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
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.

    and REF * FLAVOURS.

-----<Copyright University of Sussex 1986.  All rights reserved.>-------