-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Common API for serialization libraries -- -- This package provides a common API for serialization libraries like -- binary and cereal. @package data-serializer @version 0.3.3 -- | Deserialization monad and deserializable types. module Data.Deserializer -- | Deserialization monad. class (Monad μ, Parsing μ) => Deserializer μ -- | Default byte order of the deserializer. endian :: Deserializer μ => Proxy μ -> Endian -- | Deserialze a byte. word8 :: Deserializer μ => μ Word8 -- | Deserialize an unsigned 16-bit integer in default byte order. word16 :: Deserializer μ => μ Word16 -- | Deserialize an unsigned 32-bit integer in default byte order. word32 :: Deserializer μ => μ Word32 -- | Deserialize an unsigned 64-bit integer in default byte order. word64 :: Deserializer μ => μ Word64 -- | Deserialize an unsigned 16-bit integer in little endian. word16L :: Deserializer μ => μ Word16 -- | Deserialize an unsigned 16-bit integer in big endian. word16B :: Deserializer μ => μ Word16 -- | Deserialize an unsigned 32-bit integer in little endian. word32L :: Deserializer μ => μ Word32 -- | Deserialize an unsigned 32-bit integer in big endian. word32B :: Deserializer μ => μ Word32 -- | Deserialize an unsigned 64-bit integer in little endian. word64L :: Deserializer μ => μ Word64 -- | Deserialize an unsigned 64-bit integer in big endian. word64B :: Deserializer μ => μ Word64 -- | satisfy p deserializes a byte that satisfies the -- predicate p, failing otherwise. satisfy :: Deserializer μ => (Word8 -> Bool) -> μ Word8 -- | Deserialize the specified byte value, failing on any other input. byte :: Deserializer μ => Word8 -> μ Word8 -- | notByte c deserializes any byte that is not equal to -- c, failing if c is encountered. notByte :: Deserializer μ => Word8 -> μ Word8 -- | bytes bs deserializes a sequence of bytes given by -- bs, failing on any other input. bytes :: Deserializer μ => ByteString -> μ ByteString -- | Skip exactly the given number of bytes. skip :: Deserializer μ => Int -> μ () -- | ensure n checks that the input has at least n -- more bytes and returns a portion of the input of length greater or -- equal to n (without consuming it). ensure :: Deserializer μ => Int -> μ ByteString -- | ensure_ n fails if the input has less than n more -- bytes. ensure_ :: Deserializer μ => Int -> μ () -- | Consume exactly the given number of bytes. take :: Deserializer μ => Int -> μ ByteString -- | Consume a portion of the input (the size of the returned -- ByteString is implementation dependent). Empty result means -- that the eof is reached. chunk :: Deserializer μ => μ ByteString -- | isolate n d feeds the next n bytes to the -- deserializer d. If d consumes less or more that n -- bytes, isolate will fail. isolate :: Deserializer μ => Int -> μ α -> μ α -- | A wrapper around the Get monad (to avoid orphan instances). newtype BinaryDeserializer α BinaryDeserializer :: Get α -> BinaryDeserializer α [binaryDeserializer] :: BinaryDeserializer α -> Get α -- | A wrapper around the Get monad (to avoid orphan instances). newtype CerealDeserializer α CerealDeserializer :: Get α -> CerealDeserializer α [cerealDeserializer] :: CerealDeserializer α -> Get α -- | Deserialize an unsigned 16-bit integer in host byte order. word16H :: Deserializer μ => μ Word16 -- | Deserialize an unsigned 32-bit integer in host byte order. word32H :: Deserializer μ => μ Word32 -- | Deserialize an unsigned 64-bit integer in host byte order. word64H :: Deserializer μ => μ Word64 -- | Deserialize an unsigned native-sized integer in serializer default -- byte order. word :: Deserializer μ => μ Word -- | Deserialize an unsigned native-sized integer in little endian. wordL :: Deserializer μ => μ Word -- | Deserialize an unsigned native-sized integer in big endian. wordB :: Deserializer μ => μ Word -- | Deserialize an unsigned native-sized integer in host byte order. wordH :: Deserializer μ => μ Word -- | Deserialize a signed 8-bit integer. int8 :: Deserializer μ => μ Int8 -- | Deserialize a signed 16-bit integer in serializer default byte order. int16 :: Deserializer μ => μ Int16 -- | Deserialize a signed 16-bit integer in little endian. int16L :: Deserializer μ => μ Int16 -- | Deserialize a signed 16-bit integer in big endian. int16B :: Deserializer μ => μ Int16 -- | Deserialize a signed 16-bit integer in host byte order. int16H :: Deserializer μ => μ Int16 -- | Deserialize a signed 32-bit integer in serializer default byte order. int32 :: Deserializer μ => μ Int32 -- | Deserialize a signed 32-bit integer in little endian. int32L :: Deserializer μ => μ Int32 -- | Deserialize a signed 32-bit integer in big endian. int32B :: Deserializer μ => μ Int32 -- | Deserialize a signed 32-bit integer in host byte order. int32H :: Deserializer μ => μ Int32 -- | Deserialize a signed 64-bit integer in serializer default byte order. int64 :: Deserializer μ => μ Int64 -- | Deserialize a signed 64-bit integer in little endian. int64L :: Deserializer μ => μ Int64 -- | Deserialize a signed 64-bit integer in big endian. int64B :: Deserializer μ => μ Int64 -- | Deserialize a signed 64-bit integer in host byte order. int64H :: Deserializer μ => μ Int64 -- | Deserialize a signed native-sized integer in serializer default byte -- order. int :: Deserializer μ => μ Int -- | Deserialize a signed native-sized integer in little endian. intL :: Deserializer μ => μ Int -- | Deserialize a signed native-sized integer in big endian. intB :: Deserializer μ => μ Int -- | Deserialize a signed native-sized integer in host byte order. intH :: Deserializer μ => μ Int -- | A shorthand for flip (<?>). label :: Parsing μ => String -> μ α -> μ α -- | Deserializer wrapper with little endian default byte order. newtype LittleEndianDeserializer μ α LittleEndianDeserializer :: μ α -> LittleEndianDeserializer μ α [deserializeL] :: LittleEndianDeserializer μ α -> μ α -- | Deserializer wrapper with big endian default byte order. newtype BigEndianDeserializer μ α BigEndianDeserializer :: μ α -> BigEndianDeserializer μ α [deserializeB] :: BigEndianDeserializer μ α -> μ α -- | Force the default byte order. deserializeIn :: Deserializer μ => Endian -> (forall μ'. (Deserializer μ') => μ' α) -> μ α -- | Force the default byte order to be the host byte order. deserializeH :: Deserializer μ => (forall μ'. (Deserializer μ') => μ' α) -> μ α -- | Deserialization result. data Deserialized α Deserialized :: α -> Deserialized α Malformed :: [String] -> String -> Deserialized α -- | Map Deserialized to True and Malformed to -- False. isDeserialized :: Deserialized α -> Bool -- | Map Deserialized to False and Malformed to -- True. isMalformed :: Deserialized α -> Bool -- | Map Deserialized values to Just and Malformed to -- Nothing. maybeDeserialized :: Deserialized α -> Maybe α -- | Deserialize a ByteString via the default deserializer. defaultDeserializer :: (forall μ. Deserializer μ => μ α) -> ByteString -> Deserialized α -- | Deserializable type. get must not rely on eof. class Deserializable α get :: (Deserializable α, Deserializer μ) => μ α -- | Deserialize a value using the provided default byte order. getIn :: (Deserializer μ, Deserializable α) => Endian -> μ α -- | Deserialize a value using little endian as the default byte order. getL :: (Deserializer μ, Deserializable α) => μ α -- | Deserialize a value using big endian as the default byte order. getB :: (Deserializer μ, Deserializable α) => μ α -- | Deserialize a value using host byte order as the default byte order. getH :: (Deserializer μ, Deserializable α) => μ α -- | Deserialize a value of type α from a list of bytes via the -- defaultDeserializer. deserializeBytes :: Deserializable α => [Word8] -> Deserialized α -- | Provide a hint for the type system when using deserializeBytes. deserializeBytesAs :: Deserializable α => p α -> [Word8] -> Deserialized α -- | Deserialize a value of type α from a ByteString via -- the defaultDeserializer. deserializeByteString :: Deserializable α => ByteString -> Deserialized α -- | Provide a hint for the type system when using -- deserializeByteString. deserializeByteStringAs :: Deserializable α => p α -> ByteString -> Deserialized α -- | Deserialize a value of type α from a ByteString via -- the defaultDeserializer. deserializeLazyByteString :: Deserializable α => ByteString -> Deserialized α -- | Provide a hint for the type system when using -- deserializeLazyByteString. deserializeLazyByteStringAs :: Deserializable α => p α -> ByteString -> Deserialized α -- | A shorthand for maybeDeserialized . -- deserializeBytes. fromBytes :: Deserializable α => [Word8] -> Maybe α -- | Provide a hint for the type system when using fromBytes fromBytesAs :: Deserializable α => p α -> [Word8] -> Maybe α -- | A shorthand for maybeDeserialized . -- deserializeByteString. fromByteString :: Deserializable α => ByteString -> Maybe α -- | Provide a hint for the type system when using fromByteString fromByteStringAs :: Deserializable α => p α -> ByteString -> Maybe α -- | A shorthand for maybeDeserialized . -- deserializeLazyByteString. fromLazyByteString :: Deserializable α => ByteString -> Maybe α -- | Provide a hint for the type system when using -- fromLazyByteString fromLazyByteStringAs :: Deserializable α => p α -> ByteString -> Maybe α -- | Deserializable type. getRest must consume all the remaining -- input or fail. class RestDeserializable α getRest :: (RestDeserializable α, Deserializer μ) => μ α instance Text.Parser.LookAhead.LookAheadParsing μ => Text.Parser.LookAhead.LookAheadParsing (Data.Deserializer.BigEndianDeserializer μ) instance Text.Parser.Combinators.Parsing μ => Text.Parser.Combinators.Parsing (Data.Deserializer.BigEndianDeserializer μ) instance GHC.Base.Monad μ => GHC.Base.Monad (Data.Deserializer.BigEndianDeserializer μ) instance GHC.Base.Alternative μ => GHC.Base.Alternative (Data.Deserializer.BigEndianDeserializer μ) instance GHC.Base.Applicative μ => GHC.Base.Applicative (Data.Deserializer.BigEndianDeserializer μ) instance GHC.Base.Functor μ => GHC.Base.Functor (Data.Deserializer.BigEndianDeserializer μ) instance GHC.Generics.Generic (Data.Deserializer.BigEndianDeserializer μ α) instance (Data.Data.Data (μ α), Data.Typeable.Internal.Typeable α, Data.Typeable.Internal.Typeable μ) => Data.Data.Data (Data.Deserializer.BigEndianDeserializer μ α) instance Text.Parser.LookAhead.LookAheadParsing μ => Text.Parser.LookAhead.LookAheadParsing (Data.Deserializer.LittleEndianDeserializer μ) instance Text.Parser.Combinators.Parsing μ => Text.Parser.Combinators.Parsing (Data.Deserializer.LittleEndianDeserializer μ) instance GHC.Base.Monad μ => GHC.Base.Monad (Data.Deserializer.LittleEndianDeserializer μ) instance GHC.Base.Alternative μ => GHC.Base.Alternative (Data.Deserializer.LittleEndianDeserializer μ) instance GHC.Base.Applicative μ => GHC.Base.Applicative (Data.Deserializer.LittleEndianDeserializer μ) instance GHC.Base.Functor μ => GHC.Base.Functor (Data.Deserializer.LittleEndianDeserializer μ) instance GHC.Generics.Generic (Data.Deserializer.LittleEndianDeserializer μ α) instance (Data.Data.Data (μ α), Data.Typeable.Internal.Typeable α, Data.Typeable.Internal.Typeable μ) => Data.Data.Data (Data.Deserializer.LittleEndianDeserializer μ α) instance GHC.Base.Monad Data.Deserializer.CerealDeserializer instance GHC.Base.Alternative Data.Deserializer.CerealDeserializer instance GHC.Base.Applicative Data.Deserializer.CerealDeserializer instance GHC.Base.Functor Data.Deserializer.CerealDeserializer instance GHC.Generics.Generic (Data.Deserializer.CerealDeserializer α) instance GHC.Base.Monad Data.Deserializer.BinaryDeserializer instance GHC.Base.Alternative Data.Deserializer.BinaryDeserializer instance GHC.Base.Applicative Data.Deserializer.BinaryDeserializer instance GHC.Base.Functor Data.Deserializer.BinaryDeserializer instance GHC.Generics.Generic (Data.Deserializer.BinaryDeserializer α) instance Data.Deserializer.RestDeserializable Data.ByteString.Internal.ByteString instance Data.Deserializer.RestDeserializable Data.ByteString.Short.Internal.ShortByteString instance Data.Deserializer.RestDeserializable Data.ByteString.Lazy.Internal.ByteString instance Data.Deserializer.RestDeserializable Data.ByteString.Builder.Internal.Builder instance (Data.Deserializer.RestDeserializable α, Data.Deserializer.RestDeserializable β) => Data.Deserializer.RestDeserializable (Data.Either.Either α β) instance (Data.Deserializer.Deserializable α, Data.Deserializer.RestDeserializable β) => Data.Deserializer.RestDeserializable (α, β) instance Data.Deserializer.Deserializable α => Data.Deserializer.RestDeserializable [α] instance Data.Deserializer.Deserializable GHC.Types.Bool instance Data.Deserializer.Deserializable GHC.Word.Word8 instance Data.Deserializer.Deserializable GHC.Word.Word16 instance Data.Deserializer.Deserializable GHC.Word.Word32 instance Data.Deserializer.Deserializable GHC.Word.Word64 instance Data.Deserializer.Deserializable GHC.Types.Word instance Data.Deserializer.Deserializable GHC.Int.Int8 instance Data.Deserializer.Deserializable GHC.Int.Int16 instance Data.Deserializer.Deserializable GHC.Int.Int32 instance Data.Deserializer.Deserializable GHC.Int.Int64 instance Data.Deserializer.Deserializable GHC.Types.Int instance (Data.Deserializer.Deserializable α, Data.Deserializer.Deserializable β) => Data.Deserializer.Deserializable (α, β) instance Data.Deserializer.Deserializable α => Data.Deserializer.Deserializable (GHC.Base.Maybe α) instance (Data.Deserializer.Deserializable α, Data.Deserializer.Deserializable β) => Data.Deserializer.Deserializable (Data.Either.Either α β) instance Data.Deserializer.Deserializable Data.ByteString.Internal.ByteString instance Data.Deserializer.Deserializable Data.ByteString.Short.Internal.ShortByteString instance Data.Deserializer.Deserializer μ => Data.Deserializer.Deserializer (Data.Deserializer.BigEndianDeserializer μ) instance Data.Deserializer.Deserializer μ => Data.Deserializer.Deserializer (Data.Deserializer.LittleEndianDeserializer μ) instance Text.Parser.Combinators.Parsing Data.Deserializer.CerealDeserializer instance Text.Parser.LookAhead.LookAheadParsing Data.Deserializer.CerealDeserializer instance Data.Deserializer.Deserializer Data.Deserializer.CerealDeserializer instance Text.Parser.Combinators.Parsing Data.Deserializer.BinaryDeserializer instance Text.Parser.LookAhead.LookAheadParsing Data.Deserializer.BinaryDeserializer instance Data.Deserializer.Deserializer Data.Deserializer.BinaryDeserializer -- | Serialization monoid and serializable types. module Data.Serializer -- | Serialization monoid. class (Semigroup s, Monoid s) => Serializer s -- | Default byte order of the serializer. endian :: Serializer s => Proxy s -> Endian -- | Serialize a byte. word8 x = byteString -- (singleton x) word8 :: Serializer s => Word8 -> s -- | Serialize an unsigned 16-bit integer in the default byte order. word16 :: Serializer s => Word16 -> s -- | Serialize an unsigned 32-bit integer in the default byte order. word32 :: Serializer s => Word32 -> s -- | Serialize an unsigned 64-bit integer in the default byte order. word64 :: Serializer s => Word64 -> s -- | Serialize an unsigned 16-bit integer in little endian. word16L :: Serializer s => Word16 -> s -- | Serialize an unsigned 16-bit integer in big endian. word16B :: Serializer s => Word16 -> s -- | Serialize an unsigned 32-bit integer in little endian. word32L :: Serializer s => Word32 -> s -- | Serialize an unsigned 32-bit integer in big endian. word32B :: Serializer s => Word32 -> s -- | Serialize an unsigned 64-bit integer in little endian. word64L :: Serializer s => Word64 -> s -- | Serialize an unsigned 64-bit integer in big endian. word64B :: Serializer s => Word64 -> s -- | Serialize a ByteString. Must be a monoid homomorphism. byteString :: Serializer s => ByteString -> s -- | Serialize a ShortByteString. Must be a monoid homomorphism. shortByteString :: Serializer s => ShortByteString -> s -- | Serialize a lazy ByteString. Must be a monoid homomorphism. lazyByteString :: Serializer s => ByteString -> s -- | Serialize a Builder. Must be a monoid homomorphism. builder :: Serializer s => Builder -> s -- | A shorthand for "LBS.unpack' . toLazyByteString. buildBytes :: Builder -> [Word8] -- | A shorthand for toStrict . toLazyByteString. buildByteString :: Builder -> ByteString -- | An alias for toLazyByteString. buildLazyByteString :: Builder -> ByteString -- | A wrapper around the Put monoid (to avoid orphan instances). newtype BinarySerializer BinarySerializer :: Put -> BinarySerializer [binarySerializer] :: BinarySerializer -> Put -- | A wrapper around the Put monoid (to avoid orphan instances). newtype CerealSerializer CerealSerializer :: Put -> CerealSerializer [cerealSerializer] :: CerealSerializer -> Put -- | Serialize an usigned 16-bit integer in host byte order. word16H :: Serializer s => Word16 -> s -- | Serialize an unsigned 32-bit integer in host byte order. word32H :: Serializer s => Word32 -> s -- | Serialize an unsigned 64-bit integer in host byte order. word64H :: Serializer s => Word64 -> s -- | Serialize an unsigned native-sized integer in serializer default byte -- order. word :: Serializer s => Word -> s -- | Serialize an unsigned native-sized integer in little endian. wordL :: Serializer s => Word -> s -- | Serialize an unsigned native-sized integer in big endian. wordB :: Serializer s => Word -> s -- | Serialize an unsigned native-sized integer in host byte order. wordH :: Serializer s => Word -> s -- | Serialize a signed 8-bit integer. int8 :: Serializer s => Int8 -> s -- | Serialize a signed 16-bit integer in serializer default byte order. int16 :: Serializer s => Int16 -> s -- | Serialize a signed 16-bit integer in little endian. int16L :: Serializer s => Int16 -> s -- | Serialize a signed 16-bit integer in big endian. int16B :: Serializer s => Int16 -> s -- | Serialize a signed 16-bit integer in host byte order. int16H :: Serializer s => Int16 -> s -- | Serialize a signed 32-bit integer in serializer default byte order. int32 :: Serializer s => Int32 -> s -- | Serialize a signed 32-bit integer in little endian. int32L :: Serializer s => Int32 -> s -- | Serialize a signed 32-bit integer in big endian. int32B :: Serializer s => Int32 -> s -- | Serialize a signed 32-bit integer in host byte order. int32H :: Serializer s => Int32 -> s -- | Serialize a signed 64-bit integer in serializer default byte order. int64 :: Serializer s => Int64 -> s -- | Serialize a signed 64-bit integer in little endian. int64L :: Serializer s => Int64 -> s -- | Serialize a signed 64-bit integer in big endian. int64B :: Serializer s => Int64 -> s -- | Serialize a signed 64-bit integer in host byte order. int64H :: Serializer s => Int64 -> s -- | Serialize a signed native-sized integer in serializer default byte -- order. int :: Serializer s => Int -> s -- | Serialize a signed native-sized integer in little endian. intL :: Serializer s => Int -> s -- | Serialize a signed native-sized integer in big endian. intB :: Serializer s => Int64 -> s -- | Serialize a signed native-sized integer in host byte order. intH :: Serializer s => Int -> s -- | Serializer wrapper with little endian default byte order. newtype LittleEndianSerializer s LittleEndianSerializer :: s -> LittleEndianSerializer s [serializeL] :: LittleEndianSerializer s -> s -- | Serializer wrapper with big endian default byte order. newtype BigEndianSerializer s BigEndianSerializer :: s -> BigEndianSerializer s [serializeB] :: BigEndianSerializer s -> s -- | Force the default byte order. serializeIn :: Serializer s => Endian -> (forall s'. (Serializer s') => s') -> s -- | Force the default byte order to be the host byte order. serializeH :: Serializer s => (forall s'. (Serializer s') => s') -> s -- | Serializable type. put must work under assumption that it will -- be followed by more output. class Serializable α put :: (Serializable α, Serializer s) => α -> s -- | Serialize a value using the provided default byte order. putIn :: (Serializer s, Serializable α) => Endian -> α -> s -- | Serialize a value using little endian as the default byte order. putL :: (Serializer s, Serializable α) => α -> s -- | Serialize a value using big endian as the default byte order. putB :: (Serializer s, Serializable α) => α -> s -- | Serialize a value using host byte order as the default byte order. putH :: (Serializer s, Serializable α) => α -> s -- | A shorthand for buildBytes . put. toBytes :: Serializable α => α -> [Word8] -- | A shorthand for buildByteString . put. toByteString :: Serializable α => α -> ByteString -- | A shorthand for buildLazyByteString . put. toLazyByteString :: Serializable α => α -> ByteString -- | Types with fixed serialized size. class Serializable α => SizedSerializable α -- | Serialized size in bytes. size :: SizedSerializable α => Proxy α -> Int -- | Serializable type. putRest must work under assumption that it -- will not be followed by any more output. class RestSerializable α putRest :: (RestSerializable α, Serializer s) => α -> s instance GHC.Base.Monoid s => GHC.Base.Monoid (Data.Serializer.BigEndianSerializer s) instance Data.Semigroup.Semigroup s => Data.Semigroup.Semigroup (Data.Serializer.BigEndianSerializer s) instance GHC.Generics.Generic (Data.Serializer.BigEndianSerializer s) instance Data.Data.Data s => Data.Data.Data (Data.Serializer.BigEndianSerializer s) instance GHC.Base.Monoid s => GHC.Base.Monoid (Data.Serializer.LittleEndianSerializer s) instance Data.Semigroup.Semigroup s => Data.Semigroup.Semigroup (Data.Serializer.LittleEndianSerializer s) instance GHC.Generics.Generic (Data.Serializer.LittleEndianSerializer s) instance Data.Data.Data s => Data.Data.Data (Data.Serializer.LittleEndianSerializer s) instance GHC.Base.Monoid Data.Serializer.CerealSerializer instance GHC.Generics.Generic Data.Serializer.CerealSerializer instance GHC.Base.Monoid Data.Serializer.BinarySerializer instance Data.Semigroup.Semigroup Data.Serializer.BinarySerializer instance GHC.Generics.Generic Data.Serializer.BinarySerializer instance Data.Serializer.RestSerializable Data.ByteString.Internal.ByteString instance Data.Serializer.RestSerializable Data.ByteString.Short.Internal.ShortByteString instance Data.Serializer.RestSerializable Data.ByteString.Lazy.Internal.ByteString instance Data.Serializer.RestSerializable Data.ByteString.Builder.Internal.Builder instance Data.Serializer.Serializable α => Data.Serializer.RestSerializable [α] instance (Data.Serializer.Serializable α, Data.Serializer.RestSerializable β) => Data.Serializer.RestSerializable (α, β) instance Data.Serializer.SizedSerializable GHC.Types.Bool instance Data.Serializer.SizedSerializable GHC.Word.Word8 instance Data.Serializer.SizedSerializable GHC.Word.Word16 instance Data.Serializer.SizedSerializable GHC.Word.Word32 instance Data.Serializer.SizedSerializable GHC.Word.Word64 instance Data.Serializer.SizedSerializable GHC.Types.Word instance Data.Serializer.SizedSerializable GHC.Int.Int8 instance Data.Serializer.SizedSerializable GHC.Int.Int16 instance Data.Serializer.SizedSerializable GHC.Int.Int32 instance Data.Serializer.SizedSerializable GHC.Int.Int64 instance Data.Serializer.SizedSerializable GHC.Types.Int instance (Data.Serializer.SizedSerializable α, Data.Serializer.SizedSerializable β) => Data.Serializer.SizedSerializable (α, β) instance Data.Serializer.Serializable GHC.Types.Bool instance Data.Serializer.Serializable GHC.Word.Word8 instance Data.Serializer.Serializable GHC.Word.Word16 instance Data.Serializer.Serializable GHC.Word.Word32 instance Data.Serializer.Serializable GHC.Word.Word64 instance Data.Serializer.Serializable GHC.Types.Word instance Data.Serializer.Serializable GHC.Int.Int8 instance Data.Serializer.Serializable GHC.Int.Int16 instance Data.Serializer.Serializable GHC.Int.Int32 instance Data.Serializer.Serializable GHC.Int.Int64 instance Data.Serializer.Serializable GHC.Types.Int instance (Data.Serializer.Serializable α, Data.Serializer.Serializable β) => Data.Serializer.Serializable (α, β) instance Data.Serializer.Serializable α => Data.Serializer.Serializable (GHC.Base.Maybe α) instance (Data.Serializer.Serializable α, Data.Serializer.Serializable β) => Data.Serializer.Serializable (Data.Either.Either α β) instance Data.Serializer.Serializable Data.ByteString.Internal.ByteString instance Data.Serializer.Serializable Data.ByteString.Short.Internal.ShortByteString instance Data.Serializer.Serializer s => Data.Serializer.Serializer (Data.Serializer.BigEndianSerializer s) instance Data.Serializer.Serializer s => Data.Serializer.Serializer (Data.Serializer.LittleEndianSerializer s) instance Data.Semigroup.Semigroup Data.Serializer.CerealSerializer instance Data.Serializer.Serializer Data.Serializer.CerealSerializer instance Data.Serializer.Serializer Data.Serializer.BinarySerializer instance Data.Serializer.Serializer [GHC.Word.Word8] instance Data.Serializer.Serializer Data.ByteString.Builder.Internal.Builder instance Data.Serializer.Serializer Data.Binary.Put.Put