-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | A Haskell implementation of MessagePack
--   
--   A Haskell implementation of MessagePack <a>http://msgpack.org/</a>
--   
--   This is a fork of msgpack-haskell
--   <a>https://github.com/msgpack/msgpack-haskell</a>, since the original
--   author is unreachable. This fork incorporates a number of bugfixes and
--   is actively being developed.
@package data-msgpack
@version 0.0.10

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)

module Data.MessagePack.Option
data Option a
None :: Option a
Some :: a -> Option a
instance Data.Data.Data a => Data.Data.Data (Data.MessagePack.Option.Option a)
instance Data.Traversable.Traversable Data.MessagePack.Option.Option
instance GHC.Base.Functor Data.MessagePack.Option.Option
instance Data.Foldable.Foldable Data.MessagePack.Option.Option
instance GHC.Read.Read a => GHC.Read.Read (Data.MessagePack.Option.Option a)
instance GHC.Show.Show a => GHC.Show.Show (Data.MessagePack.Option.Option a)
instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.MessagePack.Option.Option a)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.MessagePack.Option.Option a)
instance GHC.Base.Applicative Data.MessagePack.Option.Option
instance GHC.Base.Monad Data.MessagePack.Option.Option
instance GHC.Base.Alternative Data.MessagePack.Option.Option
instance GHC.Base.MonadPlus Data.MessagePack.Option.Option
instance Data.MessagePack.Class.MessagePack a => Data.MessagePack.Class.MessagePack (Data.MessagePack.Option.Option a)
instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Data.MessagePack.Option.Option a)


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