[BUG] equivalence between strings and symbols
Stephan Rudlof
sr at evolgo.de
Tue Apr 11 01:31:10 UTC 2000
Another (new?) suggestion:
What about completely *removing* Symbol>>= ?
Has anybody tried this (without changing other methods)?
Then
#abc = 'abc'
'abc' = #abc
should both be true; and
#abc == 'abc'
'abc' == #abc
should both be false.
This is the 'shortest' approach and equivalence rules are valid.
Any drawbacks?
Stephan
"R. A. Harmon" wrote:
>
> At 10:27 AM 4/10/00 -0700, John W. Sarkela wrote:
> [snip]
> >Given the standard I believe that either #= in SequenceableCollection
> >should check for class equality rather than species equality
> [snip]
>
> I spent a half day playing around with changing SequenceableCollection >> #=
> to use class, and changing String >> #= to use class or removing it
> completely (I thought this should also work, but maybe slower).
>
> Squeak did not like these changes. The version menu item loses its
> memory--only the current version is listed, and when a method was changed
> and accepted Squeak no longer recognized selectors already defined and asked
> for confirmation on all the selectors and classes used in the method.
>
> I tried tracking the problem with versions into the Scanner methods but I'm
> a little out of my depth and its tricky given the way the system is effected
> by the change. The variable "token" is not always a string but there are a
> number of places where = symbol occurs; and assignments, especially of
> string values, are often but not always converted to symbols.
>
> I'll play around with it some more and see if I can discover where it is
> breaking.
>
> --
> Richard A. Harmon "The only good zombie is a dead zombie"
> harmonra at webname.com E. G. McCarthy
> Spencer, Iowa
--
Stephan Rudlof (sr at evolgo.de)
"Genius doesn't work on an assembly line basis.
You can't simply say, 'Today I will be brilliant.'"
-- Kirk, "The Ultimate Computer", stardate 4731.3
More information about the Squeak-dev
mailing list
|