-- 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