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


-- | Orphan instances for TH datatypes
--   
--   Orphan instances for TH datatypes. In particular, instances for Ord
--   and Lift, as well as a few missing Show / Eq. These instances used to
--   live in haskell-src-meta, and that's where the version number started.
@package th-orphans
@version 0.13.4


-- | It provides the following instances:
--   
--   <ul>
--   <li><a>Ord</a>, <a>Lift</a>, <tt>Generic</tt>, <a>Show</a>, <a>Eq</a>,
--   <tt>Data</tt>, <tt>Typeable</tt>, <a>Ppr</a>, instances for the
--   datatypes in <a>Language.Haskell.TH</a></li>
--   <li><a>Lift</a> instances for <a>Data.Word</a> / <a>Data.Int</a>
--   types</li>
--   <li><a>Applicative</a> for <a>Q</a></li>
--   <li><a>Quasi</a> for <a>ReaderT</a>, <a>WriterT</a>, <a>StateT</a>,
--   and <a>RWST</a>.</li>
--   <li><tt>Typeable</tt> for <a>Lift</a>, <a>NameIs</a>, <a>Ppr</a>,
--   <tt>PprM</tt>, <a>Q</a>, <a>Quasi</a>, <tt>QuasiQuoter</tt>, and
--   <a>TExp</a></li>
--   </ul>
--   
--   More recent versions of template-haskell, particularly 2.10 (GHC
--   7.10), provide these instances. However, in order to support older
--   versions you should import this module.
--   
--   Note that the <a>Ord</a> instances are not guaranteed to produce
--   consistent results across template-haskell / GHC versions, as they
--   have different data types, with different constructor orders.
--   
--   This module also implicitly re-exports the instances defined in
--   <a>Instances.TH.Lift</a>. This is mostly to ensure that there aren't
--   collisions of orphans between <tt>th-orphans</tt> and
--   <tt>th-lift-instances</tt>.
module Language.Haskell.TH.Instances
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Info
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Dec
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Clause
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Pat
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Lit
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Type
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.TyVarBndr
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.TyLit
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Exp
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Match
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Body
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Guard
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Stmt
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Range
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Con
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Bang
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.SourceUnpackedness
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.SourceStrictness
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.FunDep
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Overlap
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Foreign
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Callconv
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Safety
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Fixity
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.FixityDirection
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Pragma
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Inline
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.RuleMatch
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Phases
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.RuleBndr
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.AnnTarget
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.TySynEqn
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.TypeFamilyHead
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.FamilyResultSig
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.InjectivityAnn
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Role
instance Language.Haskell.TH.Syntax.Lift Language.Haskell.TH.Syntax.Loc
instance Language.Haskell.TH.Syntax.Quasi m => Language.Haskell.TH.Syntax.Quasi (Control.Monad.Trans.Reader.ReaderT r m)
instance (Language.Haskell.TH.Syntax.Quasi m, GHC.Base.Monoid w) => Language.Haskell.TH.Syntax.Quasi (Control.Monad.Trans.Writer.Lazy.WriterT w m)
instance Language.Haskell.TH.Syntax.Quasi m => Language.Haskell.TH.Syntax.Quasi (Control.Monad.Trans.State.Lazy.StateT s m)
instance (Language.Haskell.TH.Syntax.Quasi m, GHC.Base.Monoid w) => Language.Haskell.TH.Syntax.Quasi (Control.Monad.Trans.RWS.Lazy.RWST r w s m)
