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

Re: type slot option



This seems to be the most problematic of the criticisms we received.
Looking over all the mail, it seems that the best thing to do is to
leave the :type option the way it is.  It might be good to add a note
making it extra clear that because of the way it is defined it cannot
be used as a semantic feature.  It might also be good to clarify this
section by alluding to defstruct.

It seems clear that in our presentation to X3J13 we should point out to
them that this is a problematic issue which we `inherited' from Common
Lisp in general and defstruct in particular.


    Date: Fri, 29 Apr 88 14:15 PDT
    From: Gregor.pa

      - leave things the way they are, but make it clear that it
	is the job of the user code to enforce the type option.


    Moon said:

    You're right that :TYPE is a compiler optimization, not a semantic
    feature.  It's like the TYPE declaration in that respect.  If slot
    options had been defined in a syntactically consistent way (i.e.
    enclosed in parentheses like class options) then the syntax of this
    slot option could have been based on the syntax of DECLARE and just
    possibly people would be less confused about what it means.  I'm not
    seriously proposing that; I'd rather eliminate the option, if we're
    going to make such a large change.


    Date: Sat, 30 Apr 88 01:52:48 PDT
    From: Jon L White <edsel!jonl@labrea.stanford.edu>

    Perhaps a reasonable way out of the situation is to "defer" it to CL's
    treatment of the :type option in defstruct.  If ever there is mandated
    such a "mode" as I referred to for defstruct, then CLOS could follow the
    same protocol.


    Date: Mon, 2 May 88 09:38:04 CDT
    From: Patrick H Dussud <DUSSUD@Jenner.csc.ti.com>

    I think this issue is too big to be decided in this group. I wouldn't
    take decision before asking the whole X3J13. In case it produces an
    endless and intractable discussion, I would be in favor of turning off
    this option until a concensus emerges.


    Date: Mon, 02 May 88 08:41:29 -0700
    From: kempf@Sun.COM

    I don't think we should eliminate the :type option, but I think we
    ought to make it work exactly like the defstruct :type option on
    pg. 310 of CLtL. 


    Date: 30 Apr 88 10:19 PDT
    From: Dick Gabriel <RPG@SAIL.Stanford.EDU>

    As you all recall, my original writeup of this option stated that
    attempting to store an invalid type SHOULD signal an error. Moon objected
    on the grounds that he did not want to have to ever check it, except when
    other operations would naturally check the contents (such as during an
    addition).

    Thus, I never saw this as a compiler pragma only but as a semantic issue.
    I would favor a redux to my original wording (yes, ``redux'' is the word I
    mean).
-------