[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Common Lisp Types
- To: common-lisp-object-system@SAIL.STANFORD.EDU
- Subject: Common Lisp Types
- From: Dick Gabriel <RPG@SAIL.STANFORD.EDU>
- Date: 02 Feb 87 2053 PST
When I feel conservative, I agree with Larry's message. When I want
to stir up the CL community, I disagree. His message is well-reasoned
and it probably makes sense to simply adopt his stance. However, let's
consider stirring up the hornets:
``[we should eliminate] types where the "type" of an object can change
without going through the change-class protocol, e.g., satisfies. Keyword
is here because it is not an error to change a keyword's home package.''
The people writing code that distinguishes keywords from other things
and that can break if objects change classes `unexpectedly'
consider themselves wizards. I don't care about their bugs.
Larry remarks that the range of FUNCTION could be weird. My desire
to have CLOS specify some better treatment of functions is partially
a desire to humiliate the CL crowd into wanting to fix functions.
``In RPG's proposal, without a corresponding change to CL, you could get
back from (function (lambda ...)) a list (lambda ...) for which class-of would
return the class LIST, which is not a sub-class of function.''
You bet, and I would think users would start to lobby against a
CL that did that. Make 'em sweat!
``Also ommitted is the type standard-char, which is a fairly arbitrary
subset of characters.''
Even though they are arbitrary, some people might want to write portable
but system-dependent code that reasons about such arbitrary decisions.