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