cereal-plus-0.4.2: An extended serialization library on top of "cereal"

Safe HaskellNone
LanguageHaskell2010

CerealPlus.Serialize

Description

A monad-transformer over Data.Serialize.Put.

Synopsis

Documentation

data Serialize m a Source #

A serialization monad transformer.

Instances

MFunctor Serialize Source # 

Methods

hoist :: Monad m => (forall a. m a -> n a) -> Serialize m b -> Serialize n b #

MonadTrans Serialize Source # 

Methods

lift :: Monad m => m a -> Serialize m a #

Monad m => Monad (Serialize m) Source # 

Methods

(>>=) :: Serialize m a -> (a -> Serialize m b) -> Serialize m b #

(>>) :: Serialize m a -> Serialize m b -> Serialize m b #

return :: a -> Serialize m a #

fail :: String -> Serialize m a #

Functor m => Functor (Serialize m) Source # 

Methods

fmap :: (a -> b) -> Serialize m a -> Serialize m b #

(<$) :: a -> Serialize m b -> Serialize m a #

Applicative m => Applicative (Serialize m) Source # 

Methods

pure :: a -> Serialize m a #

(<*>) :: Serialize m (a -> b) -> Serialize m a -> Serialize m b #

(*>) :: Serialize m a -> Serialize m b -> Serialize m b #

(<*) :: Serialize m a -> Serialize m b -> Serialize m a #

MonadIO m => MonadIO (Serialize m) Source # 

Methods

liftIO :: IO a -> Serialize m a #

Alternative m => Alternative (Serialize m) Source # 

Methods

empty :: Serialize m a #

(<|>) :: Serialize m a -> Serialize m a -> Serialize m a #

some :: Serialize m a -> Serialize m [a] #

many :: Serialize m a -> Serialize m [a] #

MonadPlus m => MonadPlus (Serialize m) Source # 

Methods

mzero :: Serialize m a #

mplus :: Serialize m a -> Serialize m a -> Serialize m a #

run :: Monad m => Serialize m a -> m (a, ByteString) Source #

Run and get the monad result paired with a bytestring of serialized data.

runLazy :: Monad m => Serialize m a -> m (a, LazyByteString) Source #

Run and get the monad result paired with a lazy bytestring of serialized data.

exec :: Monad m => Serialize m a -> m ByteString Source #

Run and get a bytestring of serialized data.

execLazy :: Monad m => Serialize m a -> m LazyByteString Source #

Run and get a lazy bytestring of serialized data.

liftPut :: Monad m => Put -> Serialize m () Source #

Run a Put action of the "cereal" library.