Copyright | (c) Matt Morrow 2008 |
---|---|
License | BSD3 |
Maintainer | Michael Sloan <mgsloan at gmail> |
Stability | experimental |
Portability | portable (template-haskell) |
Safe Haskell | None |
Language | Haskell2010 |
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.THLift
instances for Data.Word / Data.Int typesApplicative
forQ
Quasi
forReaderT
,WriterT
,StateT
, andRWST
.Typeable
forLift
,NameIs
,Ppr
,PprM
,Q
,Quasi
,QuasiQuoter
, andTExp
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
MonadFix Q Source # | If the function passed to |
Methods mfix :: (a -> Q a) -> Q a | |
Lift Exp Source # | |
Lift Match Source # | |
Lift Clause Source # | |
Lift Pat Source # | |
Lift Type Source # | |
Lift Dec Source # | |
Lift FunDep Source # | |
Lift InjectivityAnn Source # | |
Lift Overlap Source # | |
Lift DerivClause Source # | |
Lift DerivStrategy Source # | |
Lift TyVarBndr Source # | |
Lift FamilyResultSig Source # | |
Lift TypeFamilyHead Source # | |
Lift TySynEqn Source # | |
Lift Con Source # | |
Lift Bytes Source # | |
Lift Phases Source # | |
Lift RuleBndr Source # | |
Lift Bang Source # | |
Lift Stmt Source # | |
Lift Foreign Source # | |
Lift Info Source # | |
Lift Inline Source # | |
Lift Lit Source # | |
Lift Loc Source # | |
Lift PatSynArgs Source # | |
Lift PatSynDir Source # | |
Lift Pragma Source # | |
Lift Range Source # | |
Lift Role Source # | |
Lift RuleMatch Source # | |
Lift SourceStrictness Source # | |
Lift SourceUnpackedness Source # | |
Lift TyLit Source # | |
Lift Body Source # | |
Lift Guard Source # | |
Lift FixityDirection Source # | |
Lift Fixity Source # | |
Lift AnnTarget Source # | |
Lift Callconv Source # | |
Lift Safety Source # | |
Semigroup a => Semigroup (Q a) Source # | |
Monoid a => Monoid (Q a) Source # | |
Quasi m => Quasi (ReaderT r m) Source # | |
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) qReifyType :: Name -> ReaderT r m Type 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 # | |
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) qReifyType :: Name -> StateT s m Type 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 # | |
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) qReifyType :: Name -> WriterT w m Type 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] | |
Quote m => Quote (ReaderT r m) Source # | |
Methods newName :: String -> ReaderT r m Name | |
Quote m => Quote (StateT s m) Source # | |
Methods newName :: String -> StateT s m Name | |
(Quote m, Monoid w) => Quote (WriterT w m) Source # | |
Methods newName :: String -> WriterT w m Name | |
(Quasi m, Monoid w) => Quasi (RWST r w s m) Source # | |
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) qReifyType :: Name -> RWST r w s m Type 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] | |
(Quote m, Monoid w) => Quote (RWST r w s m) Source # | |
Methods newName :: String -> RWST r w s m Name |