[squeak-dev] Character>to: was changed and breaks ObjectsTool

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Thu Jul 18 10:47:08 UTC 2013


Hi Tim,
I did the change and the rationale is that the most logical Collection
recipient for Character is String, what else?
OrderedCollection is totally arbitrary with this respect.
OK, you cannot add: to a String. But can you add: to (1 to: 10)? No you
can't.
So, put together, the Rationale is simply a principle of least astonishment.

I just used this selector for own little experiments, then I used my
commiter privilege (abused ?) to push the change to my benefit.
I only act like this when I think that my own benefit matches general
benefit.
I have plenty of more questionnable changes that I don't push.
I'm sorry that general benefit does not mean everyone's benefit, but in
this case I would tend to favour Levente solution, fix Scratch and keep the
String recipient.

Cheers


2013/7/18 tim Rowledge <tim at rowledge.org>

>
> On 17-07-2013, at 7:18 PM, Levente Uzonyi <leves at elte.hu> wrote:
>
> > On Wed, 17 Jul 2013, tim Rowledge wrote:
> >
> >> Not long ago Character>to: was changed to return a String instead of an
> Array. That broke ObjectsTool>alphabeticTabs
> >>
> >> Either we need to fix alphabeticTabs to re-convert the String to a
> collection, or rescind the change to Character>to:. It would help if the
> rationale for that change were known.
> >
> > The fix is easy, just replace the line causing the bug with this:
> >
> >       tabLabels := ($a to: $z) collect: [:ch | ch asString] as:
> OrderedCollection.
> >
> > I can't commit now, so please do it.
>
> I had already sent a fix like that to Frank - since he's tearing up the
> system right now and I'm a bit occupied with Scratch modernisation - but
> I'm not convinced it is better than making $a to: $z go back to returning
> an Array. I *know* a String is kinda-sorta an array of characters - but I
> want to be assured that the change didn't bugger up any other methods as a
> side-effect. Why was it done? What efforts to ensure it didn't screw things
> were made?
>
>
> tim
> --
> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
> Strange OpCodes: YOGA: Exit Finite-State Mode
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20130718/c20f46bb/attachment.htm


More information about the Squeak-dev mailing list