-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A Haskell implementation of MessagePack -- -- A Haskell implementation of MessagePack http://msgpack.org/ -- -- This is a fork of msgpack-haskell -- https://github.com/msgpack/msgpack-haskell, since the original -- author is unreachable. This fork incorporates a number of bugfixes and -- is actively being developed. @package data-msgpack @version 0.0.6 module Data.MessagePack.Result data Result a Success :: a -> Result a Failure :: String -> Result a instance Data.Foldable.Foldable Data.MessagePack.Result.Result instance Data.Traversable.Traversable Data.MessagePack.Result.Result instance GHC.Base.Functor Data.MessagePack.Result.Result instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.MessagePack.Result.Result a) instance GHC.Show.Show a => GHC.Show.Show (Data.MessagePack.Result.Result a) instance GHC.Read.Read a => GHC.Read.Read (Data.MessagePack.Result.Result a) instance GHC.Base.Applicative Data.MessagePack.Result.Result instance GHC.Base.Alternative Data.MessagePack.Result.Result instance GHC.Base.Monad Data.MessagePack.Result.Result instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Data.MessagePack.Result.Result a) -- | MessagePack Serializer using Data.Binary module Data.MessagePack.Put putNil :: Put putBool :: Bool -> Put putInt :: Int64 -> Put putWord :: Word64 -> Put putFloat :: Float -> Put putDouble :: Double -> Put putStr :: Text -> Put putBin :: ByteString -> Put putArray :: (a -> Put) -> [a] -> Put putMap :: (a -> Put) -> (b -> Put) -> [(a, b)] -> Put putExt :: Word8 -> ByteString -> Put -- | MessagePack Deserializer using Data.Binary module Data.MessagePack.Get getNil :: Get () getBool :: Get Bool getInt :: Get Int64 getWord :: Get Word64 getFloat :: Get Float getDouble :: Get Double getStr :: Get Text getBin :: Get ByteString getArray :: Get a -> Get [a] getMap :: Get a -> Get b -> Get [(a, b)] getExt :: Get (Word8, ByteString) module Data.MessagePack.Object -- | Object Representation of MessagePack data. data Object -- | represents nil ObjectNil :: Object -- | represents true or false ObjectBool :: !Bool -> Object -- | represents a negative integer ObjectInt :: {-# UNPACK #-} !Int64 -> Object -- | represents a positive integer ObjectWord :: {-# UNPACK #-} !Word64 -> 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 :: ![Object] -> Object -- | represents key-value pairs of objects ObjectMap :: ![(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 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.Show.Show Data.MessagePack.Object.Object instance GHC.Read.Read Data.MessagePack.Object.Object instance Control.DeepSeq.NFData Data.MessagePack.Object.Object instance Data.Binary.Class.Binary Data.MessagePack.Object.Object instance Test.QuickCheck.Arbitrary.Arbitrary Data.MessagePack.Object.Object instance Test.QuickCheck.Arbitrary.Arbitrary Data.ByteString.Internal.ByteString instance Test.QuickCheck.Arbitrary.Arbitrary Data.ByteString.Lazy.Internal.ByteString instance Test.QuickCheck.Arbitrary.Arbitrary Data.Text.Internal.Text instance Test.QuickCheck.Arbitrary.Arbitrary Data.Text.Internal.Lazy.Text -- | 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) instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Data.MessagePack.Assoc.Assoc a) -- | MessagePack object definition module Data.MessagePack.Class class MessagePack a where toObject = genericToObject fromObject = genericFromObject toObject :: MessagePack a => a -> Object fromObject :: (MessagePack a, Applicative m, Monad m) => Object -> m a toObject :: (MessagePack a, Generic a, GMessagePack (Rep a)) => a -> Object fromObject :: (MessagePack a, Applicative m, Monad m, Generic a, GMessagePack (Rep a)) => Object -> m a class GMessagePack f gToObject :: GMessagePack f => f a -> Object gFromObject :: (GMessagePack f, Applicative m, Monad m) => Object -> m (f a) instance Data.MessagePack.Class.MessagePack GHC.Int.Int64 instance Data.MessagePack.Class.MessagePack GHC.Word.Word64 instance Data.MessagePack.Class.MessagePack GHC.Types.Int instance Data.MessagePack.Class.MessagePack GHC.Int.Int8 instance Data.MessagePack.Class.MessagePack GHC.Int.Int16 instance Data.MessagePack.Class.MessagePack GHC.Int.Int32 instance Data.MessagePack.Class.MessagePack GHC.Types.Word instance Data.MessagePack.Class.MessagePack GHC.Word.Word8 instance Data.MessagePack.Class.MessagePack GHC.Word.Word16 instance Data.MessagePack.Class.MessagePack GHC.Word.Word32 instance Data.MessagePack.Class.MessagePack Data.MessagePack.Object.Object instance Data.MessagePack.Class.MessagePack () instance Data.MessagePack.Class.MessagePack GHC.Types.Bool instance Data.MessagePack.Class.MessagePack GHC.Types.Float instance Data.MessagePack.Class.MessagePack GHC.Types.Double instance Data.MessagePack.Class.MessagePack GHC.Base.String instance Data.MessagePack.Class.MessagePack Data.ByteString.Internal.ByteString instance Data.MessagePack.Class.MessagePack Data.ByteString.Lazy.Internal.ByteString instance Data.MessagePack.Class.MessagePack Data.Text.Internal.Text instance Data.MessagePack.Class.MessagePack Data.Text.Internal.Lazy.Text instance Data.MessagePack.Class.MessagePack a => Data.MessagePack.Class.MessagePack [a] instance (Data.MessagePack.Class.MessagePack a, Data.MessagePack.Class.MessagePack b) => Data.MessagePack.Class.MessagePack (Data.MessagePack.Assoc.Assoc [(a, b)]) instance (Data.MessagePack.Class.MessagePack k, Data.MessagePack.Class.MessagePack v, GHC.Classes.Ord k) => Data.MessagePack.Class.MessagePack (Data.Map.Base.Map k v) instance Data.MessagePack.Class.MessagePack v => Data.MessagePack.Class.MessagePack (Data.IntMap.Base.IntMap v) instance (Data.MessagePack.Class.MessagePack k, Data.MessagePack.Class.MessagePack v, Data.Hashable.Class.Hashable k, GHC.Classes.Eq k) => Data.MessagePack.Class.MessagePack (Data.HashMap.Base.HashMap k v) instance (Data.MessagePack.Class.MessagePack a1, Data.MessagePack.Class.MessagePack a2) => Data.MessagePack.Class.MessagePack (a1, a2) instance (Data.MessagePack.Class.MessagePack a1, Data.MessagePack.Class.MessagePack a2, Data.MessagePack.Class.MessagePack a3) => Data.MessagePack.Class.MessagePack (a1, a2, a3) instance (Data.MessagePack.Class.MessagePack a1, Data.MessagePack.Class.MessagePack a2, Data.MessagePack.Class.MessagePack a3, Data.MessagePack.Class.MessagePack a4) => Data.MessagePack.Class.MessagePack (a1, a2, a3, a4) instance (Data.MessagePack.Class.MessagePack a1, Data.MessagePack.Class.MessagePack a2, Data.MessagePack.Class.MessagePack a3, Data.MessagePack.Class.MessagePack a4, Data.MessagePack.Class.MessagePack a5) => Data.MessagePack.Class.MessagePack (a1, a2, a3, a4, a5) instance (Data.MessagePack.Class.MessagePack a1, Data.MessagePack.Class.MessagePack a2, Data.MessagePack.Class.MessagePack a3, Data.MessagePack.Class.MessagePack a4, Data.MessagePack.Class.MessagePack a5, Data.MessagePack.Class.MessagePack a6) => Data.MessagePack.Class.MessagePack (a1, a2, a3, a4, a5, a6) instance (Data.MessagePack.Class.MessagePack a1, Data.MessagePack.Class.MessagePack a2, Data.MessagePack.Class.MessagePack a3, Data.MessagePack.Class.MessagePack a4, Data.MessagePack.Class.MessagePack a5, Data.MessagePack.Class.MessagePack a6, Data.MessagePack.Class.MessagePack a7) => Data.MessagePack.Class.MessagePack (a1, a2, a3, a4, a5, a6, a7) instance (Data.MessagePack.Class.MessagePack a1, Data.MessagePack.Class.MessagePack a2, Data.MessagePack.Class.MessagePack a3, Data.MessagePack.Class.MessagePack a4, Data.MessagePack.Class.MessagePack a5, Data.MessagePack.Class.MessagePack a6, Data.MessagePack.Class.MessagePack a7, Data.MessagePack.Class.MessagePack a8) => Data.MessagePack.Class.MessagePack (a1, a2, a3, a4, a5, a6, a7, a8) instance (Data.MessagePack.Class.MessagePack a1, Data.MessagePack.Class.MessagePack a2, Data.MessagePack.Class.MessagePack a3, Data.MessagePack.Class.MessagePack a4, Data.MessagePack.Class.MessagePack a5, Data.MessagePack.Class.MessagePack a6, Data.MessagePack.Class.MessagePack a7, Data.MessagePack.Class.MessagePack a8, Data.MessagePack.Class.MessagePack a9) => Data.MessagePack.Class.MessagePack (a1, a2, a3, a4, a5, a6, a7, a8, a9) module Data.MessagePack.Generic instance Data.MessagePack.Class.GMessagePack GHC.Generics.V1 instance Data.MessagePack.Class.GMessagePack GHC.Generics.U1 instance (Data.MessagePack.Class.GMessagePack a, Data.MessagePack.Generic.GProdPack b) => Data.MessagePack.Class.GMessagePack (a GHC.Generics.:*: b) instance (Data.MessagePack.Generic.GSumPack a, Data.MessagePack.Generic.GSumPack b, Data.MessagePack.Generic.SumSize a, Data.MessagePack.Generic.SumSize b) => Data.MessagePack.Class.GMessagePack (a GHC.Generics.:+: b) instance Data.MessagePack.Class.GMessagePack a => Data.MessagePack.Class.GMessagePack (GHC.Generics.M1 t c a) instance Data.MessagePack.Class.MessagePack a => Data.MessagePack.Class.GMessagePack (GHC.Generics.K1 i a) instance (Data.MessagePack.Class.GMessagePack a, Data.MessagePack.Generic.GProdPack b) => Data.MessagePack.Generic.GProdPack (a GHC.Generics.:*: b) instance Data.MessagePack.Class.GMessagePack a => Data.MessagePack.Generic.GProdPack (GHC.Generics.M1 t c a) instance (Data.MessagePack.Generic.GSumPack a, Data.MessagePack.Generic.GSumPack b) => Data.MessagePack.Generic.GSumPack (a GHC.Generics.:+: b) instance Data.MessagePack.Generic.GSumPack (GHC.Generics.C1 c GHC.Generics.U1) instance Data.MessagePack.Class.GMessagePack a => Data.MessagePack.Generic.GSumPack (GHC.Generics.C1 c a) instance (Data.MessagePack.Generic.SumSize a, Data.MessagePack.Generic.SumSize b) => Data.MessagePack.Generic.SumSize (a GHC.Generics.:+: b) instance Data.MessagePack.Generic.SumSize (GHC.Generics.C1 c a) module Data.MessagePack.Instances instance Data.MessagePack.Class.MessagePack a => Data.MessagePack.Class.MessagePack (GHC.Base.Maybe a) instance (Data.MessagePack.Class.MessagePack a, Data.MessagePack.Class.MessagePack b) => Data.MessagePack.Class.MessagePack (Data.Either.Either a b) instance Data.MessagePack.Class.MessagePack Data.Void.Void -- | Simple interface to pack and unpack MessagePack data. 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 fails in -- the Monad. In the Maybe monad, failure returns Nothing. unpack :: (Applicative m, Monad m, MessagePack a) => ByteString -> m a