Skip to content

mutiparameter classes problem

hello,
i have run into something that looks like a bug in ghc 6.0.
here is an example:

> module A where
> class C a b where f :: a -> b
> g x = fst (f x)

for this program hugs reports that "g" has an ambiguous
type:
  C a (b,c) => a -> b
which seems reasonable.
however ghc does not report an error, and infers the
following type:
  C a (b, ()) => a -> b
(i have changed the formatting for easier comparing).
it seems that somehow the second component of the tuple
became (),
but i don't see why.

bye
iavor
Trac metadata
Trac field Value
Version 6.0
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution ResolvedFixed
Component Compiler (Type checker)
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information