It seems like the infered type (and thus bounds) is different when you force the result to be a Color or not. Just give explicit type signatures and conversion functions.
Cheers, Thu 2012/7/16 Andreas Abel <andreas.a...@ifi.lmu.de>: > Today a student came to me with a piece of code that worked it executed by > itself, but produced different result in the context of his larger problem. > We cut down the example to the following: > >> import Graphics.UI.Gtk >> >> -- should produce [(26471,0,65535),... >> rgbliste = >> (map (\ i -> >> let rb = 5 * (mod (mod 181935629 (4534+i)) 100)-250+128 in >> let gb = 5 * (mod (mod 128872693 (5148+i)) 100)-250+128 in >> let bb = 5 * (mod (mod 140302469 (7578+i)) 100)-250+128 in >> let r = min 255 $ max 0 rb in >> let g = min 255 $ max 0 gb in >> let b = min 255 $ max 0 bb in >> (r*257,g*257,b*257)) [0..]) >> >> --farbliste = map (\ (r,g,b) -> Color r g b) rgbliste >> >> main :: IO () >> main = do >> print $ head rgbliste > > > If you run it, it prints (26471,0,65535). > If you uncomment the def. of farbliste, it prints (44461,65535,65535). > > I was surprised. What is going on? > > Cheers, > Andreas > > -- > Andreas Abel <>< Du bist der geliebte Mensch. > > Theoretical Computer Science, University of Munich > Oettingenstr. 67, D-80538 Munich, GERMANY > > andreas.a...@ifi.lmu.de > http://www2.tcs.ifi.lmu.de/~abel/ > > > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell