Safe Haskell | None |
---|---|
Language | Haskell2010 |
- gserialize :: (Representable a, GSerial (Rep a), MonadPut m) => a -> m ()
- gdeserialize :: (Representable a, GSerial (Rep a), MonadGet m) => m a
- class GSerial a
- class GSumSerial a
- class GSumSize a
Documentation
You can use gserialize
and gdeserialize
as your generic serialize
and deserialize
implementations for any Representable
type as
follows:
instanceSerial
MyType where serialize =gserialize
deserialize =gdeserialize
gserialize :: (Representable a, GSerial (Rep a), MonadPut m) => a -> m () Source
gdeserialize :: (Representable a, GSerial (Rep a), MonadGet m) => m a Source
Internals
gserialize', gdeserialize'
GSerial Z Source | |
GSerial U Source | |
Serial a => GSerial (Var a) Source | |
Serial a => GSerial (Rec a) Source | |
(GSumSerial a, GSumSerial b, GSerial a, GSerial b, GSumSize * a, GSumSize * b) => GSerial ((:+:) a b) Source | |
(GSerial a, GSerial b) => GSerial ((:*:) a b) Source | |
GSerial a => GSerial (CEq k k c p q a) Source | |
GSerial a => GSerial (CEq k k c p p a) Source |
Even more internal
class GSumSerial a Source
putSum, getSum
(GSumSerial a, GSumSerial b, GSerial a, GSerial b) => GSumSerial ((:+:) a b) Source | |
GSerial a => GSumSerial (CEq k k c p q a) Source | |
GSerial a => GSumSerial (CEq k k c p p a) Source |