Data.Typeable and default instances
Jim Apple
japple at freeshell.org
Sun Dec 4 12:23:32 EST 2005
> {-# OPTIONS -fglasgow-exts #-}
>
> import Maybe
> import Data.Typeable
>
> data Nil = Nil deriving (Eq,Typeable,Show)
>
> class (Typeable t) => List a t where
> init :: (t -> b) -> (forall y . (List a y) => y -> b)
> init f z = fromJust $ do x <- cast z
> return $ f x
>
> instance List a Nil where
Could not deduce (List a1 y)
from the context (List a Nil, Typeable Nil, List a y)
arising from use of `Main.$dminit' at Main.hs:21:0
Probable fix: add (List a1 y) to the class or instance method
`Main.init'
In the definition of `init': init = Main.$dminit
In the definition for method `Main.init'
In the instance declaration for `List a Nil'
but copying and pasting the code from init to the instance declaration
works fine.
Jim
More information about the Glasgow-haskell-users
mailing list