2012/12/16 Nicolas Cellier <[email protected]>:
> 2012/12/16 Stéphane Ducasse <[email protected]>:
>>
>> On Dec 16, 2012, at 11:44 AM, Nicolas Cellier wrote:
>>
>>> 2012/12/16 Stéphane Ducasse <[email protected]>:
>>>> polymorphically they are a collection with a first and last :)
>>>>
>>>
>>> No.
>>>
>>> (5 to: 4) is different than (3 to: 2) because they specify a different
>>> cursor position.
>>
>> Ok that I understand
>>
>>> Viewed as collection, they have no first nor last, they're just empty
>>>
>>> Nicolas
>
> Currently:
>
> (3 to: 2) first -> 3.
> (3 to: 2) last -> 2.
>
> But:
> (2 to: 4 by: 3) last -> 2
>
> Try to guess the logic behind this...
>
>>
>> I see. But does it make sense to have (thinking aloud)?
>>         (3 to: 2) start -> 3
>>         (3 to: 2) end -> 2
>> probably?
>
> Yes, I did that refactoring in Squeak 3.9, but I was sure it would be
> rejected, too many methods were changed (TextMorph ParagraphEditor &
> co). See http://bugs.squeak.org/view.php?id=6454
>
> You also know that breaking the classes we use for browsing/debugging
> is a dangerous sport ;)
>
> The simplest thing would be to add a few message to TextLineInterval
> (first, last, ...) and move it somewhere else in hierarchy, because I
> don't think it shares that much with Interval.
> - I guess we don't use much of Collection protocol in TextLineInterval
> - it spoils first/last uniformity
> - it can't handle Interval step
> - ...
>
>>
>> So we should improve that.
>> If what I said is correct and you confirm it I will open a bug entry
>> Stef
>>
>>
>
> I found http://bugs.squeak.org/view.php?id=7002 indicating that most
> weirdness of Interval were corrected, but I'm quite sure it still has
> other reported or non reported bugs, except hash.
>
> I can still do an infinite loop with to:do: and Float,
> 2 - Float epsilon to: 2 by: Float epsilon/4 do: [:i | Transcript cr;
> show: i printString]
>
>  but Interval>>do: is correct: (well I warned you, some rounding occurs...)
> (2 - Float epsilon to: 2 by: Float epsilon/4) do: [:i | Transcript cr;
> show: i printString]
>
> For hash, I wonder if it would not be easier to just drop #(2 3) = (2
> to: 3) and let it answer false.
> We have hasSameElementsThan: or isSameSequenceThan: for that purpose.
>
or we haven't (? can't remember), but should have.

> Nicolas
>
>>
>>

Reply via email to