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 <rendel@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