th-orphans-0.13.10: Orphan instances for TH datatypes

Copyright(c) Matt Morrow 2008
LicenseBSD3
MaintainerMichael Sloan <mgsloan at gmail>
Stabilityexperimental
Portabilityportable (template-haskell)
Safe HaskellNone
LanguageHaskell2010

Language.Haskell.TH.Instances

Contents

Description

It provides the following instances:

  • Ord, Lift, Generic, Show, Eq, Data, Typeable, Ppr, instances for the datatypes in Language.Haskell.TH
  • Lift instances for Data.Word / Data.Int types
  • Applicative for Q
  • Quasi for ReaderT, WriterT, StateT, and RWST.
  • Typeable for Lift, NameIs, Ppr, PprM, Q, Quasi, QuasiQuoter, and TExp

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 Ord 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 Instances.TH.Lift. This is mostly to ensure that there aren't collisions of orphans between th-orphans and th-lift-instances.

Orphan instances

Bounded Extension Source # 
Instance details

Methods

minBound :: Extension

maxBound :: Extension

Lift Exp Source # 
Instance details

Methods

lift :: Exp -> Q Exp

Lift Match Source # 
Instance details

Methods

lift :: Match -> Q Exp

Lift Clause Source # 
Instance details

Methods

lift :: Clause -> Q Exp

Lift Pat Source # 
Instance details

Methods

lift :: Pat -> Q Exp

Lift Type Source # 
Instance details

Methods

lift :: Type -> Q Exp

Lift Dec Source # 
Instance details

Methods

lift :: Dec -> Q Exp

Lift FunDep Source # 
Instance details

Methods

lift :: FunDep -> Q Exp

Lift InjectivityAnn Source # 
Instance details

Methods

lift :: InjectivityAnn -> Q Exp

Lift Overlap Source # 
Instance details

Methods

lift :: Overlap -> Q Exp

Lift DerivClause Source # 
Instance details

Methods

lift :: DerivClause -> Q Exp

Lift DerivStrategy Source # 
Instance details

Methods

lift :: DerivStrategy -> Q Exp

Lift TyVarBndr Source # 
Instance details

Methods

lift :: TyVarBndr -> Q Exp

Lift FamilyResultSig Source # 
Instance details

Methods

lift :: FamilyResultSig -> Q Exp

Lift TypeFamilyHead Source # 
Instance details

Methods

lift :: TypeFamilyHead -> Q Exp

Lift TySynEqn Source # 
Instance details

Methods

lift :: TySynEqn -> Q Exp

Lift Con Source # 
Instance details

Methods

lift :: Con -> Q Exp

Lift Bang Source # 
Instance details

Methods

lift :: Bang -> Q Exp

Lift Stmt Source # 
Instance details

Methods

lift :: Stmt -> Q Exp

Lift Foreign Source # 
Instance details

Methods

lift :: Foreign -> Q Exp

Lift Info Source # 
Instance details

Methods

lift :: Info -> Q Exp

Lift Inline Source # 
Instance details

Methods

lift :: Inline -> Q Exp

Lift Lit Source # 
Instance details

Methods

lift :: Lit -> Q Exp

Lift Loc Source # 
Instance details

Methods

lift :: Loc -> Q Exp

Lift PatSynArgs Source # 
Instance details

Methods

lift :: PatSynArgs -> Q Exp

Lift PatSynDir Source # 
Instance details

Methods

lift :: PatSynDir -> Q Exp

Lift Phases Source # 
Instance details

Methods

lift :: Phases -> Q Exp

Lift Pragma Source # 
Instance details

Methods

lift :: Pragma -> Q Exp

Lift Range Source # 
Instance details

Methods

lift :: Range -> Q Exp

Lift Role Source # 
Instance details

Methods

lift :: Role -> Q Exp

Lift RuleBndr Source # 
Instance details

Methods

lift :: RuleBndr -> Q Exp

Lift RuleMatch Source # 
Instance details

Methods

lift :: RuleMatch -> Q Exp

Lift SourceStrictness Source # 
Instance details

Methods

lift :: SourceStrictness -> Q Exp

Lift SourceUnpackedness Source # 
Instance details

Methods

lift :: SourceUnpackedness -> Q Exp

Lift TyLit Source # 
Instance details

Methods

lift :: TyLit -> Q Exp

Lift Body Source # 
Instance details

Methods

lift :: Body -> Q Exp

Lift Guard Source # 
Instance details

Methods

lift :: Guard -> Q Exp

Lift FixityDirection Source # 
Instance details

Methods

lift :: FixityDirection -> Q Exp

Lift Fixity Source # 
Instance details

Methods

lift :: Fixity -> Q Exp

Lift AnnTarget Source # 
Instance details

Methods

lift :: AnnTarget -> Q Exp

Lift Callconv Source # 
Instance details

Methods

lift :: Callconv -> Q Exp

Lift Safety Source # 
Instance details

Methods

lift :: Safety -> Q Exp

Quasi m => Quasi (ReaderT r m) Source # 
Instance details

Methods

qNewName :: String -> ReaderT r m Name

qReport :: Bool -> String -> ReaderT r m ()

qRecover :: ReaderT r m a -> ReaderT r m a -> ReaderT r m a

qLookupName :: Bool -> String -> ReaderT r m (Maybe Name)

qReify :: Name -> ReaderT r m Info

qReifyFixity :: Name -> ReaderT r m (Maybe Fixity)

qReifyInstances :: Name -> [Type] -> ReaderT r m [Dec]

qReifyRoles :: Name -> ReaderT r m [Role]

qReifyAnnotations :: Data a => AnnLookup -> ReaderT r m [a]

qReifyModule :: Module -> ReaderT r m ModuleInfo

qReifyConStrictness :: Name -> ReaderT r m [DecidedStrictness]

qLocation :: ReaderT r m Loc

qRunIO :: IO a -> ReaderT r m a

qAddDependentFile :: FilePath -> ReaderT r m ()

qAddTempFile :: String -> ReaderT r m FilePath

qAddTopDecls :: [Dec] -> ReaderT r m ()

qAddForeignFilePath :: ForeignSrcLang -> String -> ReaderT r m ()

qAddModFinalizer :: Q () -> ReaderT r m ()

qAddCorePlugin :: String -> ReaderT r m ()

qGetQ :: Typeable a => ReaderT r m (Maybe a)

qPutQ :: Typeable a => a -> ReaderT r m ()

qIsExtEnabled :: Extension -> ReaderT r m Bool

qExtsEnabled :: ReaderT r m [Extension]

Quasi m => Quasi (StateT s m) Source # 
Instance details

Methods

qNewName :: String -> StateT s m Name

qReport :: Bool -> String -> StateT s m ()

qRecover :: StateT s m a -> StateT s m a -> StateT s m a

qLookupName :: Bool -> String -> StateT s m (Maybe Name)

qReify :: Name -> StateT s m Info

qReifyFixity :: Name -> StateT s m (Maybe Fixity)

qReifyInstances :: Name -> [Type] -> StateT s m [Dec]

qReifyRoles :: Name -> StateT s m [Role]

qReifyAnnotations :: Data a => AnnLookup -> StateT s m [a]

qReifyModule :: Module -> StateT s m ModuleInfo

qReifyConStrictness :: Name -> StateT s m [DecidedStrictness]

qLocation :: StateT s m Loc

qRunIO :: IO a -> StateT s m a

qAddDependentFile :: FilePath -> StateT s m ()

qAddTempFile :: String -> StateT s m FilePath

qAddTopDecls :: [Dec] -> StateT s m ()

qAddForeignFilePath :: ForeignSrcLang -> String -> StateT s m ()

qAddModFinalizer :: Q () -> StateT s m ()

qAddCorePlugin :: String -> StateT s m ()

qGetQ :: Typeable a => StateT s m (Maybe a)

qPutQ :: Typeable a => a -> StateT s m ()

qIsExtEnabled :: Extension -> StateT s m Bool

qExtsEnabled :: StateT s m [Extension]

(Quasi m, Monoid w) => Quasi (WriterT w m) Source # 
Instance details

Methods

qNewName :: String -> WriterT w m Name

qReport :: Bool -> String -> WriterT w m ()

qRecover :: WriterT w m a -> WriterT w m a -> WriterT w m a

qLookupName :: Bool -> String -> WriterT w m (Maybe Name)

qReify :: Name -> WriterT w m Info

qReifyFixity :: Name -> WriterT w m (Maybe Fixity)

qReifyInstances :: Name -> [Type] -> WriterT w m [Dec]

qReifyRoles :: Name -> WriterT w m [Role]

qReifyAnnotations :: Data a => AnnLookup -> WriterT w m [a]

qReifyModule :: Module -> WriterT w m ModuleInfo

qReifyConStrictness :: Name -> WriterT w m [DecidedStrictness]

qLocation :: WriterT w m Loc

qRunIO :: IO a -> WriterT w m a

qAddDependentFile :: FilePath -> WriterT w m ()

qAddTempFile :: String -> WriterT w m FilePath

qAddTopDecls :: [Dec] -> WriterT w m ()

qAddForeignFilePath :: ForeignSrcLang -> String -> WriterT w m ()

qAddModFinalizer :: Q () -> WriterT w m ()

qAddCorePlugin :: String -> WriterT w m ()

qGetQ :: Typeable a => WriterT w m (Maybe a)

qPutQ :: Typeable a => a -> WriterT w m ()

qIsExtEnabled :: Extension -> WriterT w m Bool

qExtsEnabled :: WriterT w m [Extension]

(Quasi m, Monoid w) => Quasi (RWST r w s m) Source # 
Instance details

Methods

qNewName :: String -> RWST r w s m Name

qReport :: Bool -> String -> RWST r w s m ()

qRecover :: RWST r w s m a -> RWST r w s m a -> RWST r w s m a

qLookupName :: Bool -> String -> RWST r w s m (Maybe Name)

qReify :: Name -> RWST r w s m Info

qReifyFixity :: Name -> RWST r w s m (Maybe Fixity)

qReifyInstances :: Name -> [Type] -> RWST r w s m [Dec]

qReifyRoles :: Name -> RWST r w s m [Role]

qReifyAnnotations :: Data a => AnnLookup -> RWST r w s m [a]

qReifyModule :: Module -> RWST r w s m ModuleInfo

qReifyConStrictness :: Name -> RWST r w s m [DecidedStrictness]

qLocation :: RWST r w s m Loc

qRunIO :: IO a -> RWST r w s m a

qAddDependentFile :: FilePath -> RWST r w s m ()

qAddTempFile :: String -> RWST r w s m FilePath

qAddTopDecls :: [Dec] -> RWST r w s m ()

qAddForeignFilePath :: ForeignSrcLang -> String -> RWST r w s m ()

qAddModFinalizer :: Q () -> RWST r w s m ()

qAddCorePlugin :: String -> RWST r w s m ()

qGetQ :: Typeable a => RWST r w s m (Maybe a)

qPutQ :: Typeable a => a -> RWST r w s m ()

qIsExtEnabled :: Extension -> RWST r w s m Bool

qExtsEnabled :: RWST r w s m [Extension]