Hi,
GHC (5.03.20020410) wrongly accepts the following:
::
C.lhs
::
module C
where
class A a where
a :: a - Int
::
X.lhs
::
module X
where
import qualified C
instance C.A Int where
C.a = id
Note that the class method is qualified
For those puzzled by the number of things called 'a' in Ralf's
program, I'm attaching an alpha-renamed version. Removing the type
signature (or changing the type signature to Integer) for a results in
Ralf's type error in Hugs.
It does indeed look as though Hugs applies defaulting to 'a' and
GHC (5.03.20020410) wrongly accepts the following:
::
C.lhs
::
module C
where
class A a where
a :: a - Int
::
X.lhs
::
module X
where
import qualified C
instance C.A Int where
C.a = id
This has been fixed, and