msgpack-0.2.2: A Haskell binding to MessagePack

Copyright(c) Hideyuki Tanaka, 2009
LicenseBSD3
Maintainertanaka.hideyuki@gmail.com
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell98

Data.MessagePack.Monad

Contents

Description

Monadic Stream Serializers and Deserializers

Synopsis

Classes

class Monad m => MonadPacker m where Source

Methods

put :: OBJECT a => a -> m () Source

Serialize a object

Instances

class Monad m => MonadUnpacker m where Source

Methods

get :: OBJECT a => m a Source

Deserialize a object

Instances

Packer and Unpacker type

newtype PackerT m r Source

Serializer Type

Constructors

PackerT 

Fields

runPackerT :: Packer -> m r
 

newtype UnpackerT m r Source

Deserializer type

Constructors

UnpackerT 

Fields

runUnpackerT :: Unpacker -> Feeder -> m r
 

Packers

packToString :: MonadIO m => PackerT m r -> m ByteString Source

Execute given serializer and returns byte sequence.

packToHandle :: MonadIO m => Handle -> PackerT m r -> m () Source

Execute given serializer and write byte sequence to Handle.

packToFile :: MonadIO m => FilePath -> PackerT m r -> m () Source

Execute given serializer and write byte sequence to file.

Unpackers

unpackFrom :: MonadIO m => Feeder -> UnpackerT m r -> m r Source

Execute deserializer using given feeder.

unpackFromString :: MonadIO m => ByteString -> UnpackerT m r -> m r Source

Execute deserializer from given byte sequence.

unpackFromHandle :: MonadIO m => Handle -> UnpackerT m r -> m r Source

Execute deserializer using given handle.

unpackFromFile :: MonadIO m => FilePath -> UnpackerT m r -> m r Source

Execute deserializer using given file content.