Am Dienstag 03 November 2009 19:28:55 schrieb Roland Zumkeller: > Hi, > > Compiling > > > class WithT a where > > type T a > > > > f :: T a -> a -> T a > > f = undefined > > > > g x = f x 42 > > with -XTypeFamilies -fwarn-missing-signatures gives: > > Inferred type: g :: forall a. (Num a) => T a -> T a > > Adding > > > g :: Num a => T a -> T a > > results in: > > Couldn't match expected type `T a' against inferred type `T a1' > In the first argument of `f', namely `x' > > Is the inferred type not the right one? Is g typeable?
The type function T isn't injective (or, it isn't guaranteed to be), so there's no way to determine which type a to use for 42. > > Best, > > Roland _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users