-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Automatic deriving of Binary using GHC.Generics
--
-- This package provides deriveGet and derivePut which can be used to
-- quickly create an instance of Binary for any time which implements
-- Generic. Naturally, this can be used with -XDeriveGeneric to not have
-- to write any boilerplate code. This differs from binary-generic which
-- relies on the Data class instead and doesn't seem to have quite the
-- same implementation philosophy. Once Ghc 7.2 is stable, this could be
-- combined into the binary package to provide a sensible default for the
-- Binary class.
@package binary-derive
@version 0.1.0
module Data.Binary.Derive
-- | Derives a put function for an instance of Binary. Normally you
-- won't call this from anywhere except that put function in your
-- instance declaration.
derivePut :: (Generic t, GBinary (Rep t)) => t -> Put
-- | Derives a get value for an instance of Binary. Normally you
-- won't use this from anywhere except that get value in your
-- instance declaration.
deriveGet :: (Generic t, GBinary (Rep t)) => Get t
instance (GBinary a, GBinary b) => GBinary (a :*: b)
instance (GBinary a, GBinary b) => GBinary (a :+: b)
instance GBinary t => GBinary (M1 i c t)
instance Binary t => GBinary (K1 i t)
instance GBinary U1
instance Binary ConsChoice