@@ -0,0 +1,20 @@
1+{-# OPTIONS_GHC -fno-warn-orphans #-}
2+module Control.Distributed.Process.Internal.TypeRep () where
3+
4+import Control.Applicative ((<$>), (<*>))
5+import Data.Binary (Binary(get, put))
6+import Data.Typeable.Internal (TypeRep(..), TyCon(..))
7+import GHC.Fingerprint.Type (Fingerprint(..))
8+
9+instance Binary Fingerprint where
10+ put (Fingerprint hi lo) = put hi >> put lo
11+ get = Fingerprint <$> get <*> get
12+
13+instance Binary TypeRep where
14+ put (TypeRep fp tyCon ts) = put fp >> put tyCon >> put ts
15+ get = TypeRep <$> get <*> get <*> get
16+
17+instance Binary TyCon where
18+ put (TyCon hash package modul name) = put hash >> put package >> put modul >> put name
19+ get = TyCon <$> get <*> get <*> get <*> get
20+