Old code broken by new Typeable class
Volker Wysk
verteiler at volker-wysk.de
Tue Aug 5 16:41:05 UTC 2014
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/glasgow-haskell-users/attachments/20140805/63bd3d7a/attachment.html>
More information about the Glasgow-haskell-users
mailing list