Winhugs crashes

Martin Bäuml martinbaeuml at web.de
Thu Jan 15 17:31:00 EST 2004


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




More information about the Hugs-Bugs mailing list