[Haskell-cafe] [m..n] question
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.
More information about the Haskell-Cafe