[Haskell-cafe] [m..n] question

Jonathan Cast jonathanccast at fastmail.fm
Fri Sep 26 21:22:31 EDT 2008


On Sat, 2008-09-27 at 02:09 +0100, Simon Richard Clarkstone wrote:
> Darn, I sent this as personal mail the first time.
> 
> Evan Laforge wrote:
> >> In Haskell,
> >> "The sequence enumFromTo e1 e3 is the list [e1,e1+1,e1+2,...e3].
> >>  The list is empty if e1 > e3."
> > 
> > I like it, since it means that things like [n .. n + length m - 1]
> > work as expected when m is [].  Or say 'map (array!) [bsearch x ..
> > bsearch y - 1]'.
> > 
> > Tangent:  Of course, I would prefer the range be half-open, which is a
> > pretty consistent standard in the rest of the world.  I've had a
> > number of off by one errors from this, and from Array.bounds.  I guess
> > it's too late to fix those, though, even if there were agreement that
> > they need to be fixed.
> 
> It causes problems with types that have an upper bound.  You can't
> express Haskell's [False .. True] as a half-open range for example.

[False .. ] works great, though, whether ranges are closed or half-open.

jcc




More information about the Haskell-Cafe mailing list