Also SPECIALIZE is turned into SPECIALIZE NOINLINE -- which has an effect on error messages too (which might be considered a bug).

And instances look very weird....

source:
instance Class.Eq Integer where
  CInteger a == CInteger b = a == b

ghc-6.6.1 -ddump-parsed:
instance {Class.Eq Integer} where
    []
    { == CInteger a CInteger b = a == b }

most recent HEAD -ddump-parsed:
instance Class.Eq Integer where
    []
    []
    { == CInteger a CInteger b = a == b }

Except for the two extra "[]" and the three necessary missing pairs of parentheses (or else using "==" in an infix position), this looks like valid Haskell

And then my Num instance becomes (in HEAD)

instance Class.Num Integer where
    []
    []
    { + CInteger a CInteger b = mkInteger (addInteger a b)
      * CInteger a CInteger b = mkInteger (multiplyInteger a b)
      negate (CInteger a) = mkInteger (negateInteger a)
      abs (CInteger a) = mkInteger (absInteger a)
      signum (CInteger a) = mkInteger (signumInteger a)
      fromInteger unboundedIntegral
                    = mkInteger (uncheckedFromIntegral unboundedIntegral) }

, which uses curly braces but not semicolons, so the layout wouldn't work in Haskell, for multiple functions defined in the instance, too.


Isaac
_______________________________________________
Glasgow-haskell-users mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to