No the error I got was Could not deduce (Controller m v c) from the context (Controller m v c2) arising from a use of `MVC' at NM8\GUI\PanZoom.hs:126:32-65 Possible fix: add (Controller m v c) to the context of the constructor `MVC' In the expression: MVC m v (PZC s z (unsafeCoerce c)) In the definition of `panZoomedMVC'': panZoomedMVC' s z (MVC m v c) = MVC m v (PZC s z (unsafeCoerce c))
I got this after adding the type signature of panZoomedMVC' :: (Controller m v c, PanZoomable z) => State -> z -> MVC m v -> MVC m v But I don't have the problematic code anymore. Anyway, I've hacking away here, as you can see from the unsafeCoerce call, which is now not needed anymore ;) On Fri, Feb 13, 2009 at 6:26 PM, Tillmann Rendel <ren...@cs.au.dk> wrote: > Peter Verswyvelen wrote: > >> Could it be considered a bug when a function compiles fine without type >> signature, but when you add the type signature that GHCi reports with :type, >> it fails to compile? >> > > There are such cases where it is not a bug. For example, given > > import Data.Map (fromList) > > x a = fromList a > > ghci will happily report that x has type > > Ord k => [(k, a)] -> Data.Map.Map k a > > but the name Data.Map.Map is not in scope in the module. > > Tillmann >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe