From: Bertram F. <ber...@go...> - 2007-11-05 18:05:59
|
Peter Gavin wrote: > On 11/5/07, Axel Simon <A....@ke...> wrote: > > No, of course I didn't test that. That would be principled. Well, so > > how can toFlags' possibly work. I mean, these things are *flags* that > > is, they are always values were single bits are set (or sums of those > > numbers) and hence they are barely consecutive. Peter? Did you test > > toFlags' ? > > Hm, it looks like Bertram is correct. Which is slightly annoying to > say the least. It seems to me that the default implementation of > enumFromTo is the wrong way to do it, it should be: > > enumFromTo x y | x == y = [ y ] > | otherwise = x : enumFromTo (succ x) y Not really, the default implementation is designed to work with enums that map to a contiguous range of Int values. However, the Enum instances that gtk2hs (more specifically c2hslocal) generates are arguably broken. See http://haskell.org/onlinereport/basic.html#enum-class http://haskell.org/onlinereport/standard-prelude.html#$tEnum It's unclear to me whether it is worth the effort to fix that though. Are there other uses for this besides toFlags? Bertram |