To make it compile with nhc98, #ifdef out the Typeable[12] instances.
class Typeable2 t where
typeOf2 :: t a b -> TyCon
class Typeable2 t where
typeOf2 :: t a b -> TyCon
-- | Instance for lists
instance Typeable1 [] where
typeOf1 _ = typerepTyCon (typeOf (undefined::[()]))
-- | Instance for lists
instance Typeable1 [] where
typeOf1 _ = typerepTyCon (typeOf (undefined::[()]))
-- | Instance for functions
instance Typeable2 (->) where
typeOf2 _ = typerepTyCon (typeOf (undefined::() -> ()))
-- | Instance for functions
instance Typeable2 (->) where
typeOf2 _ = typerepTyCon (typeOf (undefined::() -> ()))
-- | Cast for * -> *
cast1 :: (Typeable1 t, Typeable1 t') => c (t a) -> Maybe (c (t' a))
-- | Cast for * -> *
cast1 :: (Typeable1 t, Typeable1 t') => c (t a) -> Maybe (c (t' a))