-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A Haskell binding to MessagePack -- -- A Haskell binding to MessagePack http://msgpack.org/ @package msgpack @version 0.4.0.1 -- | MessagePack Deserializer using Data.Attoparsec module Data.MessagePack.Unpack -- | Deserializable class class Unpackable a get :: (Unpackable a) => Parser a -- | Unpack MessagePack string to Haskell data. unpack :: (Unpackable a, IsByteString s) => s -> a -- | Unpack MessagePack string to Haskell data. tryUnpack :: (Unpackable a, IsByteString s) => s -> Either String a -- | The exception of unpack data UnpackError UnpackError :: String -> UnpackError class IsByteString s toBS :: (IsByteString s) => s -> ByteString instance [incoherent] Typeable UnpackError instance [incoherent] Show UnpackError instance [incoherent] (Unpackable a) => Unpackable (Maybe a) instance [incoherent] (Unpackable k, Unpackable v) => Unpackable (Vector (k, v)) instance [incoherent] (Unpackable k, Unpackable v) => Unpackable [(k, v)] instance [incoherent] (Unpackable a1, Unpackable a2, Unpackable a3, Unpackable a4, Unpackable a5, Unpackable a6, Unpackable a7, Unpackable a8, Unpackable a9) => Unpackable (a1, a2, a3, a4, a5, a6, a7, a8, a9) instance [incoherent] (Unpackable a1, Unpackable a2, Unpackable a3, Unpackable a4, Unpackable a5, Unpackable a6, Unpackable a7, Unpackable a8) => Unpackable (a1, a2, a3, a4, a5, a6, a7, a8) instance [incoherent] (Unpackable a1, Unpackable a2, Unpackable a3, Unpackable a4, Unpackable a5, Unpackable a6, Unpackable a7) => Unpackable (a1, a2, a3, a4, a5, a6, a7) instance [incoherent] (Unpackable a1, Unpackable a2, Unpackable a3, Unpackable a4, Unpackable a5, Unpackable a6) => Unpackable (a1, a2, a3, a4, a5, a6) instance [incoherent] (Unpackable a1, Unpackable a2, Unpackable a3, Unpackable a4, Unpackable a5) => Unpackable (a1, a2, a3, a4, a5) instance [incoherent] (Unpackable a1, Unpackable a2, Unpackable a3, Unpackable a4) => Unpackable (a1, a2, a3, a4) instance [incoherent] (Unpackable a1, Unpackable a2, Unpackable a3) => Unpackable (a1, a2, a3) instance [incoherent] (Unpackable a1, Unpackable a2) => Unpackable (a1, a2) instance [incoherent] (Unpackable a) => Unpackable (Vector a) instance [incoherent] (Unpackable a) => Unpackable [a] instance [incoherent] Unpackable ByteString instance [incoherent] Unpackable ByteString instance [incoherent] Unpackable String instance [incoherent] Unpackable Double instance [incoherent] Unpackable Bool instance [incoherent] Unpackable () instance [incoherent] Unpackable Int instance [incoherent] Exception UnpackError instance [incoherent] IsByteString ByteString instance [incoherent] IsByteString ByteString -- | MessagePack Deserializer interface to Data.Iteratee module Data.MessagePack.Iteratee -- | Deserialize a value getI :: (Monad m, Unpackable a) => Iteratee ByteString m a -- | Enumerator enumHandleNonBlocking :: (MonadIO m) => Int -> Handle -> Enumerator ByteString m a -- | Convert Parser to Iteratee parserToIteratee :: (Monad m) => Parser a -> Iteratee ByteString m a -- | MessagePack Serializer using Data.Binary.Pack module Data.MessagePack.Pack -- | Serializable class class Packable a put :: (Packable a) => a -> Put -- | Pack Haskell data to MessagePack string. pack :: (Packable a) => a -> ByteString instance [incoherent] (Packable a) => Packable (Maybe a) instance [incoherent] (Packable k, Packable v) => Packable (Vector (k, v)) instance [incoherent] (Packable k, Packable v) => Packable [(k, v)] instance [incoherent] (Packable a1, Packable a2, Packable a3, Packable a4, Packable a5, Packable a6, Packable a7, Packable a8, Packable a9) => Packable (a1, a2, a3, a4, a5, a6, a7, a8, a9) instance [incoherent] (Packable a1, Packable a2, Packable a3, Packable a4, Packable a5, Packable a6, Packable a7, Packable a8) => Packable (a1, a2, a3, a4, a5, a6, a7, a8) instance [incoherent] (Packable a1, Packable a2, Packable a3, Packable a4, Packable a5, Packable a6, Packable a7) => Packable (a1, a2, a3, a4, a5, a6, a7) instance [incoherent] (Packable a1, Packable a2, Packable a3, Packable a4, Packable a5, Packable a6) => Packable (a1, a2, a3, a4, a5, a6) instance [incoherent] (Packable a1, Packable a2, Packable a3, Packable a4, Packable a5) => Packable (a1, a2, a3, a4, a5) instance [incoherent] (Packable a1, Packable a2, Packable a3, Packable a4) => Packable (a1, a2, a3, a4) instance [incoherent] (Packable a1, Packable a2, Packable a3) => Packable (a1, a2, a3) instance [incoherent] (Packable a1, Packable a2) => Packable (a1, a2) instance [incoherent] (Packable a) => Packable (Vector a) instance [incoherent] (Packable a) => Packable [a] instance [incoherent] Packable ByteString instance [incoherent] Packable ByteString instance [incoherent] Packable String instance [incoherent] Packable Double instance [incoherent] Packable Bool instance [incoherent] Packable () instance [incoherent] Packable Int -- | MessagePack object definition module Data.MessagePack.Object -- | Object Representation of MessagePack data. data Object ObjectNil :: Object ObjectBool :: Bool -> Object ObjectInteger :: Int -> Object ObjectDouble :: Double -> Object ObjectRAW :: ByteString -> Object ObjectArray :: [Object] -> Object ObjectMap :: [(Object, Object)] -> Object -- | The class of types serializable to and from MessagePack object class (Unpackable a, Packable a) => OBJECT a toObject :: (OBJECT a) => a -> Object fromObject :: (OBJECT a) => Object -> a tryFromObject :: (OBJECT a) => Object -> Either String a instance [incoherent] Typeable Object instance [incoherent] Show Object instance [incoherent] Eq Object instance [incoherent] Ord Object instance [incoherent] (OBJECT a) => OBJECT (Maybe a) instance [incoherent] (OBJECT a, OBJECT b) => OBJECT [(a, b)] instance [incoherent] (OBJECT a1, OBJECT a2, OBJECT a3, OBJECT a4, OBJECT a5, OBJECT a6, OBJECT a7, OBJECT a8, OBJECT a9) => OBJECT (a1, a2, a3, a4, a5, a6, a7, a8, a9) instance [incoherent] (OBJECT a1, OBJECT a2, OBJECT a3, OBJECT a4, OBJECT a5, OBJECT a6, OBJECT a7, OBJECT a8) => OBJECT (a1, a2, a3, a4, a5, a6, a7, a8) instance [incoherent] (OBJECT a1, OBJECT a2, OBJECT a3, OBJECT a4, OBJECT a5, OBJECT a6, OBJECT a7) => OBJECT (a1, a2, a3, a4, a5, a6, a7) instance [incoherent] (OBJECT a1, OBJECT a2, OBJECT a3, OBJECT a4, OBJECT a5, OBJECT a6) => OBJECT (a1, a2, a3, a4, a5, a6) instance [incoherent] (OBJECT a1, OBJECT a2, OBJECT a3, OBJECT a4, OBJECT a5) => OBJECT (a1, a2, a3, a4, a5) instance [incoherent] (OBJECT a1, OBJECT a2, OBJECT a3, OBJECT a4) => OBJECT (a1, a2, a3, a4) instance [incoherent] (OBJECT a1, OBJECT a2, OBJECT a3) => OBJECT (a1, a2, a3) instance [incoherent] (OBJECT a1, OBJECT a2) => OBJECT (a1, a2) instance [incoherent] (OBJECT a) => OBJECT [a] instance [incoherent] OBJECT String instance [incoherent] OBJECT ByteString instance [incoherent] OBJECT Double instance [incoherent] OBJECT Bool instance [incoherent] OBJECT Int instance [incoherent] OBJECT () instance [incoherent] OBJECT Object instance [incoherent] Packable Object instance [incoherent] Unpackable Object instance [incoherent] NFData Object module Data.MessagePack.Derive derivePack :: Name -> Q [Dec] deriveUnpack :: Name -> Q [Dec] deriveObject :: Name -> Q [Dec] -- | Simple interface to pack and unpack MessagePack data. module Data.MessagePack -- | Pack to ByteString. packToString :: Put -> ByteString -- | Pack to Handle packToHandle :: Handle -> Put -> IO () -- | Pack to Handle and Flush Handle packToHandle' :: Handle -> Put -> IO () -- | Pack to File packToFile :: FilePath -> Put -> IO () -- | Unpack from ByteString unpackFromString :: (Monad m, IsByteString s) => s -> Parser a -> m a -- | Unpack from Handle unpackFromHandle :: (MonadCatchIO m) => Handle -> Parser a -> m a -- | Unpack from File unpackFromFile :: (MonadCatchIO m) => FilePath -> Parser a -> m a -- | Iteratee interface to unpack from ByteString unpackFromStringI :: (Monad m, IsByteString s) => s -> Iteratee ByteString m a -> m a -- | Iteratee interface to unpack from Handle unpackFromHandleI :: (MonadCatchIO m) => Handle -> Iteratee ByteString m a -> m a -- | Iteratee interface to unpack from File unpackFromFileI :: (MonadCatchIO m) => FilePath -> Iteratee ByteString m a -> m a