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


-- | Template Haskell code to generate instances of classes in some package
--   
--   Template Haskell code to generate instances of classes in some
--   package, such as <a>GEq</a> and <a>GCompare</a>.
@package dependent-sum-template
@version 0.2.0.2

module Data.GADT.Show.TH
class DeriveGShow t
deriveGShow :: DeriveGShow t => t -> Q [Dec]
instance Data.GADT.Show.TH.DeriveGShow Language.Haskell.TH.Syntax.Dec
instance Data.GADT.Show.TH.DeriveGShow t => Data.GADT.Show.TH.DeriveGShow [t]
instance Data.GADT.Show.TH.DeriveGShow Language.Haskell.TH.Syntax.Name
instance Data.GADT.Show.TH.DeriveGShow t => Data.GADT.Show.TH.DeriveGShow (Language.Haskell.TH.Syntax.Q t)

module Data.GADT.Compare.TH
class DeriveGEQ t
deriveGEq :: DeriveGEQ t => t -> Q [Dec]
class DeriveGCompare t
deriveGCompare :: DeriveGCompare t => t -> Q [Dec]
data GComparing (a :: k) (b :: k) t
runGComparing :: forall {k} {a :: k} {b :: k}. GComparing a b (GOrdering a b) -> GOrdering a b
geq' :: forall {k1} {k2} t (a :: k1) (b :: k1) (x :: k2) (y :: k2). GCompare t => t a -> t b -> GComparing x y (a :~: b)
compare' :: forall {k} {a1} {a2 :: k} {b :: k}. Ord a1 => a1 -> a1 -> GComparing a2 b ()
instance Data.GADT.Compare.TH.DeriveGCompare Language.Haskell.TH.Syntax.Dec
instance Data.GADT.Compare.TH.DeriveGCompare t => Data.GADT.Compare.TH.DeriveGCompare [t]
instance Data.GADT.Compare.TH.DeriveGCompare Language.Haskell.TH.Syntax.Name
instance Data.GADT.Compare.TH.DeriveGCompare t => Data.GADT.Compare.TH.DeriveGCompare (Language.Haskell.TH.Syntax.Q t)
instance Data.GADT.Compare.TH.DeriveGEQ Language.Haskell.TH.Syntax.Dec
instance Data.GADT.Compare.TH.DeriveGEQ t => Data.GADT.Compare.TH.DeriveGEQ [t]
instance Data.GADT.Compare.TH.DeriveGEQ Language.Haskell.TH.Syntax.Name
instance Data.GADT.Compare.TH.DeriveGEQ t => Data.GADT.Compare.TH.DeriveGEQ (Language.Haskell.TH.Syntax.Q t)
