| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Generics.Instant.Functions.Bytes
Contents
- 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:
instanceSerialMyType where serialize =gserializedeserialize =gdeserialize
gserialize :: (Representable a, GSerial (Rep a), MonadPut m) => a -> m () Source
gdeserialize :: (Representable a, GSerial (Rep a), MonadGet m) => m a Source
Internals
Minimal complete definition
gserialize', gdeserialize'
Instances
| 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
Minimal complete definition
putSum, getSum
Instances
| (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 |