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

Re: [Re: [Re: (EQUAL "a" "a") -> ()]]

I think I didn't make myself clear: I meant for the obarray to be
an unadvertised internal implementation technique.  People are only
supposed to depend on advertised properties of data types and functions,
and strings being EQ is most certainly not advertised!
Using an obarray internally will solve the EQUAL problem, and I don't
think it breaks any correct programs.  It will just cause incorrect
programsd to be incorrect in a different way.  Small fixnums are
"interned" too, by FXCONS, for different implementational reasons,
and this has occasionally misled people into using EQ on fixnums
because they empirically determined that EQ "worked"; but when this
screwed them we just said to use =, rather than flushing the
"interning" feature.
So if the obarray hack is put in, don't annouce that an obarray is
used.  Announbce only that EQUAL now works on strings.