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