i assume 7.6 and 7.8, if we're talking GHC rather than GCC :)

in 7.8 you can't define userland typeable instances, you need only write
deriving (Typeable) and you're all set.
add some CPP to select the instances suitable


On Tue, Aug 5, 2014 at 12:41 PM, Volker Wysk <[email protected]>
wrote:

>  Hi!
>
> I've been working with GHC-4.6.3, and updating to GHC-4.8.3 breaks my
> code,
>
> because the Typeable class has been changed. The compiler produces this
>
> message:
>
> ---------
>
> src/HsShellScript/ProcErr.chs:2294:4:
>
>     ‘typeOf’ is not a (visible) method of class ‘Typeable’
>
> ---------
>
> I want to define System.Posix.Process.ProcessStatus to be an instance of
>
> Typeable, so I can throw and catch it as an exception. ProcessStatus isn't
>
> typeable by default.
>
> Is it still possible to make ProcessStatus a member of Typeable? How?
>
> Obviously, you can't accomplish it by deriving Typeable, because the
> definition
>
> can't be changed any longer.
>
> This is the spot in question:
>
> ----------
>
> import System.Posix.Process
>
> import Data.Typeable
>
> {-
>
> data ProcessStatus = Exited ExitCode
>
>                    | Terminated Signal
>
>                    | Stopped Signal
>
>                    deriving (Eq, Ord, Show)
>
> -}
>
> instance Typeable ProcessStatus where
>
>    typeOf = const tyCon_ProcessStatus
>
> tyCon_ProcessStatus = mkTyConApp (mkTyCon3 "hsshellscript"
>
>                                            "HsShellScript.ProcErr"
>
>                                            "Posix.ProcessStatus") []
>
> instance Exception ProcessStatus
>
> ----------
>
> Thanks,
>
> V.W.
>
> _______________________________________________
> Glasgow-haskell-users mailing list
> [email protected]
> http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
>
>
_______________________________________________
Glasgow-haskell-users mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to