Hi, I just programmed something for a class, when I discovered the following bug. I am running "winhugs +s +t +f -g -G -l +e -. -q -Q +w -k -o -O +u -I +i +R -H -T -W +X -N" under Windows XP. My piece of code: -- code start data Monat = Januar | Februar | März | April | Mai | Juni | Juli | August | September | Oktober | November | Dezember deriving Show instance Enum Monat where toEnum 1 = Januar toEnum 2 = Februar toEnum 3 = März toEnum 4 = April toEnum 5 = Mai toEnum 6 = Juni toEnum 7 = Juli toEnum 8 = August toEnum 9 = September toEnum 10 = Oktober toEnum 11 = November toEnum 12 = Dezember fromEnum Januar = 1 fromEnum Februar = 2 fromEnum März = 3 fromEnum April = 4 fromEnum Mai = 5 fromEnum Juni = 6 fromEnum Juli = 7 fromEnum August = 8 fromEnum September = 9 fromEnum Oktober = 10 fromEnum November = 11 fromEnum Dezember = 12 succ m = toEnum (rem (1 + (fromEnum m)) 12) pred m | (fromEnum m) == 1 = Dezember | otherwise = (toEnum . subtract 1 . fromEnum) m data Datum = Datum Int Monat Int deriving Show instance Eq Datum instance Ord Datum -- code end Now if I ask in Winhugs what (Datum 12 Januar 2004) == (Datum 12 Januar 2004) is, it crashes: Process winhugs exited with code 128. Regards, Martin
participants (1)
-
Martin Bäuml