On Sun, May 18, 2014 at 10:04 AM, Sven Van Caekenberghe <[email protected]>wrote:

>
> On 18 May 2014, at 18:50, Eliot Miranda <[email protected]> wrote:
>
> > On May 18, 2014, at 7:59 AM, kilon alios <[email protected]> wrote:
> >
> >> yes I know, I was just wondering if that was normal behaviour because
> it looks quite confusing to me.
> >
> > Personally I find it a natural way of expressing an empty interval.  to:
> is syntactic sugar for to:by:, and so the default of 1 for the step (the
> by: arg) is expected.
> >
> > I'm dissatisfied however that I can't write $A to: $Z, or 1 to: Infinity
> positive (or 1 to: Float inf, ugh).
>
> Since there is Character>>#to: you can actually write $A to: $Z although
> it returns an Array instead of a String, but that can be solved with
>
>   ($a to: $z) as: String
>
> or
>
>   String withAll: ($a to: $z)
>

Ugh, that's really bad.  So if I want to construct an interval over the
Unicode characters this hack instantiates a large string.  The whole point
about an Interval is to compute a set of values, not construct a
collection.  If I want to construct a collection I can.

I would add a subclass of Interval, say NonArithmeticInterval, that sent
successor: step or predecessor: step so that e.g.
Character>>successor: n
    ^Character value: self asInteger + n




> > Eliot (phone)
> >> On Sun, May 18, 2014 at 4:49 PM, Eliot Miranda <[email protected]>
> wrote:
> >> Hi Kilon,
> >>
> >> On May 18, 2014, at 6:32 AM, kilon alios <[email protected]> wrote:
> >>
> >> > while I was recording my Interval video tutorial I observed that
> Interval does not behave as I would expect . Even though (1 to: 100) works
> as I expect, (1 to: -100) does not. In case of ( 1 to: -100) it created the
> interval object but it does not populate it with the numbers.
> >> >
> >>
> >> You have to say
> >>         1 to: -100 by: -1
> >>
> >> > I would expect it to populate the interval with the numbers or at
> least fail with an error. This does not look to me like normal behaviour.
> >> >
> >> > (-100 to: 1) on the other hand work as expected.
> >> >
> >> > Any thoughts on this issue ?
> >>
> >>
>
>
>


-- 
best,
Eliot

Reply via email to