Safe Haskell | None |
---|
A monad-transformer over Data.Serialize.Get.
- data Deserialize m a
- runPartial :: Deserialize m a -> ByteString -> m (Result m a)
- data Result m a
- = Fail Text ByteString
- | Partial (ByteString -> m (Result m a))
- | Done a ByteString
- liftGet :: Monad m => Get a -> Deserialize m a
- mapBase :: (Monad m, Monad m') => (forall b. m b -> m' b) -> Deserialize m a -> Deserialize m' a
- throwError :: Monad m => Text -> Deserialize m a
Documentation
data Deserialize m a Source
A deserialization monad transformer.
MonadTrans Deserialize | |
Monad m => Monad (Deserialize m) | |
Monad m => Functor (Deserialize m) | |
Monad m => Applicative (Deserialize m) | |
Monad m => MonadLayer (Deserialize m) | |
Monad m => MonadLayerFunctor (Deserialize m) | |
Monad m => MonadTrans (Deserialize m) | |
Monad m => MonadTransFunctor (Deserialize m) | |
MonadIO m => MonadIO (Deserialize m) |
runPartial :: Deserialize m a -> ByteString -> m (Result m a)Source
Run on a chunk of data and get a partial result.
A partial result of deserialization.
Fail Text ByteString | A message describing the deserialization failure and a remaining chunk. |
Partial (ByteString -> m (Result m a)) | A continuation function, which should be supplied with the next chunk. |
Done a ByteString | A deserialized data structure and a remaining chunk. |
mapBase :: (Monad m, Monad m') => (forall b. m b -> m' b) -> Deserialize m a -> Deserialize m' aSource
Change the base monad. Same as transMap
of the "layers" library.
throwError :: Monad m => Text -> Deserialize m aSource