[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Initialization



    Date: 04 May 88  1257 PDT
    From: Dick Gabriel <RPG@SAIL.Stanford.EDU>
    ....the generic function initialize-new-instance seems to me to
    be the corresponding function to reinitialize-instance. Therefore, I
    suggest we rename initialize-new-instance to be initialize-instance, and
    we rename initialize-instance to be something like fill-and-initialize-slots.

I think we went around this once before.  While I agree that the present
proposed names are confusing, anything that names (the proposed new)
initialize-instance a name with "slots" in it is not going to work, because
it doesn't only deal with slots.  User-defined methods for (the new)
initialize-instance can do all sorts of initialization, having no more or
less to do with slots than user-defined methods for initialize-new-instance.
The distinction is not whether we're doing the slots or not, but whether this
is only for new instances or for all kinds of initialization.

I'd still like to see less confusing names, but it seems to be awfully
hard to think them up.  Probably a sign that the whole structure is too
complicated, but it seems to be awfully hard to think of how to simplify
it without breaking everything.

    Now, another possibility is to break up the current initialize-instance
    into two pieces: one that fills slots using initargs and another that
    fills unbound slots using initforms. Then we can name them fill-slots and
    initialize-slots.

I think we want around this one once before, too.