[Openmcl-devel] Patch for slot-documentation bug
gb at clozure.com
Thu Feb 2 19:21:51 EST 2006
On Thu, 2 Feb 2006, Gary King wrote:
> On Feb 2, 2006, at 2:17 PM, Pascal Costanza wrote:
>> Wait a moment: Are you saying that this is equivalent to (slot-
>> value slot 'cl:documentation)?
>> This would be a violation of the CLOS MOP specification which
>> states the following in "Restrictions on Implementations":
>> "No portable class Cp may inherit, by virtue of being a direct or
>> indirect subclass of a specified class, any slot for which the name
>> is a symbol accessible in the common-lisp-user package or exported
>> by any package defined in the ANSI Common Lisp standard."
On the one hand, I suppose that it's possible to take comfort in the
fact that (apparently) no real program has had a reported case of
being affected by the fact that - in blatant contravention of the
restriction quoted above - the symbol used to name the ... er, um ...
documentation slot of a slot definition has been CL:DOCUMENTATION.
That comfort is short-lived, however, when one considers the most
likely rationale for the restriction, namely that allowing a
CL-package symbol to be used in this way Leads To Harder Stuff. (I can't
think of any other reason for this restriction and that rationale
often works for other otherwise arbitrary-looking restrictions, so I'm
pretty sure that that must be it.)
I honestly (seriously) think that the slot name should be changed;
if anyone ever does come up with a non-circular reason for caring
about this, their code should work. While waiting for that code
and that reason to exist, the lisp will be one step further removed
from the life of anarchy and street crime that clearly lies at the
end of the path it started on when this slot was named.
More information about the Openmcl-devel