-- 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, respectively, which
-- each 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
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