-- 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/
@package msgpack
@version 0.7.1.2
module Data.MessagePack.Internal.Utf8
encodeUtf8 :: String -> ByteString
decodeUtf8 :: ByteString -> String
skipChar :: OnDecodeError
toLBS :: ByteString -> ByteString
fromLBS :: ByteString -> ByteString
-- | MessagePack map labeling type
module Data.MessagePack.Assoc
newtype Assoc a
Assoc :: a -> Assoc a
unAssoc :: Assoc a -> a
instance Typeable1 Assoc
instance Show a => Show (Assoc a)
instance Eq a => Eq (Assoc a)
instance Ord a => Ord (Assoc a)
instance NFData a => NFData (Assoc a)
-- | MessagePack Serializer using Data.Binary.Pack
module Data.MessagePack.Pack
-- | Serializable class
class Packable a
from :: Packable a => a -> Builder
-- | 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 (HashMap k v)
instance [incoherent] Packable v => Packable (IntMap v)
instance [incoherent] (Packable k, Packable v) => Packable (Map k v)
instance [incoherent] (Packable k, Packable v) => Packable (Assoc (Vector (k, v)))
instance [incoherent] (Packable k, Packable v) => Packable (Assoc [(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 Text
instance [incoherent] Packable Text
instance [incoherent] Packable ByteString
instance [incoherent] Packable ByteString
instance [incoherent] Packable String
instance [incoherent] Packable Double
instance [incoherent] Packable Float
instance [incoherent] Packable Bool
instance [incoherent] Packable ()
instance [incoherent] Packable Int
-- | 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] (Hashable k, Eq k, Unpackable k, Unpackable v) => Unpackable (HashMap k v)
instance [incoherent] Unpackable v => Unpackable (IntMap v)
instance [incoherent] (Ord k, Unpackable k, Unpackable v) => Unpackable (Map k v)
instance [incoherent] (Unpackable k, Unpackable v) => Unpackable (Assoc (Vector (k, v)))
instance [incoherent] (Unpackable k, Unpackable v) => Unpackable (Assoc [(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 Text
instance [incoherent] Unpackable Text
instance [incoherent] Unpackable ByteString
instance [incoherent] Unpackable ByteString
instance [incoherent] Unpackable String
instance [incoherent] Unpackable Double
instance [incoherent] Unpackable Float
instance [incoherent] Unpackable Bool
instance [incoherent] Unpackable ()
instance [incoherent] Unpackable Int
instance [incoherent] Exception UnpackError
instance [incoherent] IsByteString ByteString
instance [incoherent] IsByteString ByteString
-- | MessagePack object definition
module Data.MessagePack.Object
-- | Object Representation of MessagePack data.
data Object
ObjectNil :: Object
ObjectBool :: Bool -> Object
ObjectInteger :: Int -> Object
ObjectFloat :: Float -> 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 where toObject = unpack . pack fromObject a = case tryFromObject a of { Left err -> throw $ UnpackError err Right ret -> ret } tryFromObject = tryUnpack . pack
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] (Hashable a, Eq a, OBJECT a, OBJECT b) => OBJECT (HashMap a b)
instance [incoherent] OBJECT b => OBJECT (IntMap b)
instance [incoherent] (Ord a, OBJECT a, OBJECT b) => OBJECT (Map a b)
instance [incoherent] (OBJECT a, OBJECT b) => OBJECT (Assoc (Vector (a, b)))
instance [incoherent] (OBJECT a, OBJECT b) => OBJECT (Assoc [(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 Text
instance [incoherent] OBJECT Text
instance [incoherent] OBJECT ByteString
instance [incoherent] OBJECT ByteString
instance [incoherent] OBJECT String
instance [incoherent] OBJECT Float
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 :: Bool -> Name -> Q [Dec]
deriveUnpack :: Bool -> Name -> Q [Dec]
deriveObject :: Bool -> Name -> Q [Dec]
-- | Simple interface to pack and unpack MessagePack data.
module Data.MessagePack