-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | A Haskell implementation of MessagePack
--
-- A Haskell implementation of the MessagePack data interchange
-- format. MessagePack is a binary format which aims to be compact and
-- supports encoding a superset of the JSON data-model.
--
--
Related Packages
--
-- A JSON adapter for the aeson library is provided by the
-- msgpack-aeson package.
--
-- The msgpack-rpc package provides an implementation of the
-- MessagePack-RPC protocol.
@package msgpack
@version 1.0.1.0
-- | MessagePack map labeling type
module Data.MessagePack.Assoc
newtype Assoc a
Assoc :: a -> Assoc a
[unAssoc] :: Assoc a -> a
instance Control.DeepSeq.NFData a => Control.DeepSeq.NFData (Data.MessagePack.Assoc.Assoc a)
instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.MessagePack.Assoc.Assoc a)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.MessagePack.Assoc.Assoc a)
instance GHC.Read.Read a => GHC.Read.Read (Data.MessagePack.Assoc.Assoc a)
instance GHC.Show.Show a => GHC.Show.Show (Data.MessagePack.Assoc.Assoc a)
-- | MessagePack Deserializer using Data.Binary
module Data.MessagePack.Get
getNil :: Get ()
getBool :: Get Bool
getFloat :: Get Float
getDouble :: Get Double
-- | Deserialize an integer into an Int
--
-- WARNING: Currently this function silently wraps around integers
-- to make them fit into an Int. This will be changed in the next
-- major version (i.e. msgpack-1.1.0).
getInt :: Get Int
-- | Deserialize an integer into a Word
--
-- This operation will fail if the encoded integer doesn't fit into the
-- value range of the Word type.
getWord :: Get Word
-- | Deserialize an integer into an Int64
--
-- This operation will fail if the encoded integer doesn't fit into the
-- value range of the Int64 type.
getInt64 :: Get Int64
-- | Deserialize an integer into a Word
--
-- This operation will fail if the encoded integer doesn't fit into the
-- value range of the Word64 type.
getWord64 :: Get Word64
getStr :: Get Text
getBin :: Get ByteString
getArray :: Get a -> Get (Vector a)
getMap :: Get a -> Get b -> Get (Vector (a, b))
getExt :: Get (Word8, ByteString)
-- | MessagePack Serializer using Data.Binary.
module Data.MessagePack.Put
putNil :: Put
putBool :: Bool -> Put
putFloat :: Float -> Put
putDouble :: Double -> Put
putInt :: Int -> Put
putWord :: Word -> Put
putInt64 :: Int64 -> Put
putWord64 :: Word64 -> Put
putStr :: Text -> Put
putBin :: ByteString -> Put
putArray :: (a -> Put) -> Vector a -> Put
putMap :: (a -> Put) -> (b -> Put) -> Vector (a, b) -> Put
putExt :: Word8 -> ByteString -> Put
-- | MessagePack object definition
module Data.MessagePack.Object
-- | Object Representation of MessagePack data.
data Object
-- | represents nil
ObjectNil :: Object
-- | represents true or false
ObjectBool :: !Bool -> Object
-- | represents an integer
ObjectInt :: {-# UNPACK #-} !Int -> Object
-- | represents a floating point number
ObjectFloat :: {-# UNPACK #-} !Float -> Object
-- | represents a floating point number
ObjectDouble :: {-# UNPACK #-} !Double -> Object
-- | extending Raw type represents a UTF-8 string
ObjectStr :: !Text -> Object
-- | extending Raw type represents a byte array
ObjectBin :: !ByteString -> Object
-- | represents a sequence of objects
ObjectArray :: !Vector Object -> Object
-- | represents key-value pairs of objects
ObjectMap :: !Vector (Object, Object) -> Object
-- | represents a tuple of an integer and a byte array where the integer
-- represents type information and the byte array represents data.
ObjectExt :: {-# UNPACK #-} !Word8 -> !ByteString -> Object
-- | Class for converting between MessagePack Objects and native
-- Haskell types.
class MessagePack a
toObject :: MessagePack a => a -> Object
fromObject :: MessagePack a => Object -> Maybe a
instance GHC.Generics.Generic Data.MessagePack.Object.Object
instance GHC.Classes.Ord Data.MessagePack.Object.Object
instance GHC.Classes.Eq Data.MessagePack.Object.Object
instance GHC.Read.Read Data.MessagePack.Object.Object
instance GHC.Show.Show Data.MessagePack.Object.Object
instance Data.MessagePack.Object.MessagePack Data.MessagePack.Object.Object
instance Data.MessagePack.Object.MessagePack ()
instance Data.MessagePack.Object.MessagePack GHC.Types.Int
instance Data.MessagePack.Object.MessagePack GHC.Types.Bool
instance Data.MessagePack.Object.MessagePack GHC.Types.Float
instance Data.MessagePack.Object.MessagePack GHC.Types.Double
instance Data.MessagePack.Object.MessagePack Data.ByteString.Internal.ByteString
instance Data.MessagePack.Object.MessagePack GHC.Base.String
instance Data.MessagePack.Object.MessagePack a => Data.MessagePack.Object.MessagePack (Data.Vector.Vector a)
instance (Data.MessagePack.Object.MessagePack a, Data.MessagePack.Object.MessagePack b) => Data.MessagePack.Object.MessagePack (Data.MessagePack.Assoc.Assoc (Data.Vector.Vector (a, b)))
instance Data.MessagePack.Object.MessagePack a => Data.MessagePack.Object.MessagePack (GHC.Maybe.Maybe a)
instance Data.MessagePack.Object.MessagePack Data.ByteString.Lazy.Internal.ByteString
instance Data.MessagePack.Object.MessagePack Data.ByteString.Short.Internal.ShortByteString
instance Data.MessagePack.Object.MessagePack Data.Text.Internal.Text
instance Data.MessagePack.Object.MessagePack Data.Text.Internal.Lazy.Text
instance Data.MessagePack.Object.MessagePack a => Data.MessagePack.Object.MessagePack [a]
instance (Data.MessagePack.Object.MessagePack k, Data.MessagePack.Object.MessagePack v) => Data.MessagePack.Object.MessagePack (Data.MessagePack.Assoc.Assoc [(k, v)])
instance (Data.MessagePack.Object.MessagePack k, Data.MessagePack.Object.MessagePack v, GHC.Classes.Ord k) => Data.MessagePack.Object.MessagePack (Data.Map.Internal.Map k v)
instance Data.MessagePack.Object.MessagePack v => Data.MessagePack.Object.MessagePack (Data.IntMap.Internal.IntMap v)
instance (Data.MessagePack.Object.MessagePack k, Data.MessagePack.Object.MessagePack v, Data.Hashable.Class.Hashable k, GHC.Classes.Eq k) => Data.MessagePack.Object.MessagePack (Data.HashMap.Base.HashMap k v)
instance (Data.MessagePack.Object.MessagePack a1, Data.MessagePack.Object.MessagePack a2) => Data.MessagePack.Object.MessagePack (a1, a2)
instance (Data.MessagePack.Object.MessagePack a1, Data.MessagePack.Object.MessagePack a2, Data.MessagePack.Object.MessagePack a3) => Data.MessagePack.Object.MessagePack (a1, a2, a3)
instance (Data.MessagePack.Object.MessagePack a1, Data.MessagePack.Object.MessagePack a2, Data.MessagePack.Object.MessagePack a3, Data.MessagePack.Object.MessagePack a4) => Data.MessagePack.Object.MessagePack (a1, a2, a3, a4)
instance (Data.MessagePack.Object.MessagePack a1, Data.MessagePack.Object.MessagePack a2, Data.MessagePack.Object.MessagePack a3, Data.MessagePack.Object.MessagePack a4, Data.MessagePack.Object.MessagePack a5) => Data.MessagePack.Object.MessagePack (a1, a2, a3, a4, a5)
instance (Data.MessagePack.Object.MessagePack a1, Data.MessagePack.Object.MessagePack a2, Data.MessagePack.Object.MessagePack a3, Data.MessagePack.Object.MessagePack a4, Data.MessagePack.Object.MessagePack a5, Data.MessagePack.Object.MessagePack a6) => Data.MessagePack.Object.MessagePack (a1, a2, a3, a4, a5, a6)
instance (Data.MessagePack.Object.MessagePack a1, Data.MessagePack.Object.MessagePack a2, Data.MessagePack.Object.MessagePack a3, Data.MessagePack.Object.MessagePack a4, Data.MessagePack.Object.MessagePack a5, Data.MessagePack.Object.MessagePack a6, Data.MessagePack.Object.MessagePack a7) => Data.MessagePack.Object.MessagePack (a1, a2, a3, a4, a5, a6, a7)
instance (Data.MessagePack.Object.MessagePack a1, Data.MessagePack.Object.MessagePack a2, Data.MessagePack.Object.MessagePack a3, Data.MessagePack.Object.MessagePack a4, Data.MessagePack.Object.MessagePack a5, Data.MessagePack.Object.MessagePack a6, Data.MessagePack.Object.MessagePack a7, Data.MessagePack.Object.MessagePack a8) => Data.MessagePack.Object.MessagePack (a1, a2, a3, a4, a5, a6, a7, a8)
instance (Data.MessagePack.Object.MessagePack a1, Data.MessagePack.Object.MessagePack a2, Data.MessagePack.Object.MessagePack a3, Data.MessagePack.Object.MessagePack a4, Data.MessagePack.Object.MessagePack a5, Data.MessagePack.Object.MessagePack a6, Data.MessagePack.Object.MessagePack a7, Data.MessagePack.Object.MessagePack a8, Data.MessagePack.Object.MessagePack a9) => Data.MessagePack.Object.MessagePack (a1, a2, a3, a4, a5, a6, a7, a8, a9)
instance Control.DeepSeq.NFData Data.MessagePack.Object.Object
instance Data.Binary.Class.Binary Data.MessagePack.Object.Object
-- | Simple interface to encode/decode to/from the MessagePack
-- format.
module Data.MessagePack
-- | Pack a Haskell value to MessagePack binary.
pack :: MessagePack a => a -> ByteString
-- | Unpack MessagePack binary to a Haskell value. If it fails, it returns
-- Nothing.
unpack :: MessagePack a => ByteString -> Maybe a