Language.Haskell.TH.Instances

th-orphans-0.13.16: Orphan instances for TH datatypes

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

- Orphan instances

Description

It provides the following instances:

- `Lift` instances for the datatypes in Language.Haskell.TH
- `Quasi` for `ReaderT`, `WriterT`, `StateT`, and `RWST`.
- `MonadFix` for `Q`

More recent versions of template-haskell provide these instances. However, in order to support older versions you should import this module.

# Orphan instances

Lift AnnTarget # |
Instance details Methods lift :: Quote m => AnnTarget -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => AnnTarget -> Code m AnnTarget #
Lift Bang # |
Instance details Methods lift :: Quote m => Bang -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Bang -> Code m Bang #
Lift BndrVis # |
Instance details Methods lift :: Quote m => BndrVis -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => BndrVis -> Code m BndrVis #
Lift Body # |
Instance details Methods lift :: Quote m => Body -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Body -> Code m Body #
Lift Bytes # |
Instance details Methods lift :: Quote m => Bytes -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Bytes -> Code m Bytes #
Lift Callconv # |
Instance details Methods lift :: Quote m => Callconv -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Callconv -> Code m Callconv #
Lift Clause # |
Instance details Methods lift :: Quote m => Clause -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Clause -> Code m Clause #
Lift Con # |
Instance details Methods lift :: Quote m => Con -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Con -> Code m Con #
Lift Dec # |
Instance details Methods lift :: Quote m => Dec -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Dec -> Code m Dec #
Lift DerivClause # |
Instance details Methods lift :: Quote m => DerivClause -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => DerivClause -> Code m DerivClause #
Lift DerivStrategy # |
Instance details Methods lift :: Quote m => DerivStrategy -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => DerivStrategy -> Code m DerivStrategy #
Lift Exp # |
Instance details Methods lift :: Quote m => Exp -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Exp -> Code m Exp #
Lift FamilyResultSig # |
Instance details Methods lift :: Quote m => FamilyResultSig -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => FamilyResultSig -> Code m FamilyResultSig #
Lift Fixity # |
Instance details Methods lift :: Quote m => Fixity -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Fixity -> Code m Fixity #
Lift FixityDirection # |
Instance details Methods lift :: Quote m => FixityDirection -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => FixityDirection -> Code m FixityDirection #
Lift Foreign # |
Instance details Methods lift :: Quote m => Foreign -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Foreign -> Code m Foreign #
Lift FunDep # |
Instance details Methods lift :: Quote m => FunDep -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => FunDep -> Code m FunDep #
Lift Guard # |
Instance details Methods lift :: Quote m => Guard -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Guard -> Code m Guard #
Lift Info # |
Instance details Methods lift :: Quote m => Info -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Info -> Code m Info #
Lift InjectivityAnn # |
Instance details Methods lift :: Quote m => InjectivityAnn -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => InjectivityAnn -> Code m InjectivityAnn #
Lift Inline # |
Instance details Methods lift :: Quote m => Inline -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Inline -> Code m Inline #
Lift Lit # |
Instance details Methods lift :: Quote m => Lit -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Lit -> Code m Lit #
Lift Loc # |
Instance details Methods lift :: Quote m => Loc -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Loc -> Code m Loc #
Lift Match # |
Instance details Methods lift :: Quote m => Match -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Match -> Code m Match #
Lift NamespaceSpecifier # |
Instance details Methods lift :: Quote m => NamespaceSpecifier -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => NamespaceSpecifier -> Code m NamespaceSpecifier #
Lift Overlap # |
Instance details Methods lift :: Quote m => Overlap -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Overlap -> Code m Overlap #
Lift Pat # |
Instance details Methods lift :: Quote m => Pat -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Pat -> Code m Pat #
Lift PatSynArgs # |
Instance details Methods lift :: Quote m => PatSynArgs -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => PatSynArgs -> Code m PatSynArgs #
Lift PatSynDir # |
Instance details Methods lift :: Quote m => PatSynDir -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => PatSynDir -> Code m PatSynDir #
Lift Phases # |
Instance details Methods lift :: Quote m => Phases -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Phases -> Code m Phases #
Lift Pragma # |
Instance details Methods lift :: Quote m => Pragma -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Pragma -> Code m Pragma #
Lift Range # |
Instance details Methods lift :: Quote m => Range -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Range -> Code m Range #
Lift Role # |
Instance details Methods lift :: Quote m => Role -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Role -> Code m Role #
Lift RuleBndr # |
Instance details Methods lift :: Quote m => RuleBndr -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => RuleBndr -> Code m RuleBndr #
Lift RuleMatch # |
Instance details Methods lift :: Quote m => RuleMatch -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => RuleMatch -> Code m RuleMatch #
Lift Safety # |
Instance details Methods lift :: Quote m => Safety -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Safety -> Code m Safety #
Lift SourceStrictness # |
Instance details Methods lift :: Quote m => SourceStrictness -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => SourceStrictness -> Code m SourceStrictness #
Lift SourceUnpackedness # |
Instance details Methods lift :: Quote m => SourceUnpackedness -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => SourceUnpackedness -> Code m SourceUnpackedness #
Lift Specificity # |
Instance details Methods lift :: Quote m => Specificity -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Specificity -> Code m Specificity #
Lift Stmt # |
Instance details Methods lift :: Quote m => Stmt -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Stmt -> Code m Stmt #
Lift TyLit # |
Instance details Methods lift :: Quote m => TyLit -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => TyLit -> Code m TyLit #
Lift TySynEqn # |
Instance details Methods lift :: Quote m => TySynEqn -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => TySynEqn -> Code m TySynEqn #
Lift Type # |
Instance details Methods lift :: Quote m => Type -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Type -> Code m Type #
Lift TypeFamilyHead # |
Instance details Methods lift :: Quote m => TypeFamilyHead -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => TypeFamilyHead -> Code m TypeFamilyHead #
Lift flag => Lift (TyVarBndr flag :: Type) # |
Instance details Methods lift :: Quote m => TyVarBndr flag -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => TyVarBndr flag -> Code m (TyVarBndr flag) #
Quasi m => Quasi (ReaderT r m) # |
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) # 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 # qGetPackageRoot :: ReaderT r m FilePath # 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] # qPutDoc :: DocLoc -> String -> ReaderT r m () # qGetDoc :: DocLoc -> ReaderT r m (Maybe String) #
Quasi m => Quasi (StateT s m) # |
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) # 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 # qGetPackageRoot :: StateT s m FilePath # 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] # qPutDoc :: DocLoc -> String -> StateT s m () # qGetDoc :: DocLoc -> StateT s m (Maybe String) #
(Quasi m, Monoid w) => Quasi (WriterT w m) # |
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) # 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 # qGetPackageRoot :: WriterT w m FilePath # 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] # qPutDoc :: DocLoc -> String -> WriterT w m () # qGetDoc :: DocLoc -> WriterT w m (Maybe String) #
Quote m => Quote (ReaderT r m) # |
Instance details Methods newName :: String -> ReaderT r m Name #
Quote m => Quote (StateT s m) # |
Instance details Methods newName :: String -> StateT s m Name #
(Quote m, Monoid w) => Quote (WriterT w m) # |
Instance details Methods newName :: String -> WriterT w m Name #
(Quasi m, Monoid w) => Quasi (RWST r w s m) # |
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) # 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 # qGetPackageRoot :: RWST r w s m FilePath # 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] # qPutDoc :: DocLoc -> String -> RWST r w s m () # qGetDoc :: DocLoc -> RWST r w s m (Maybe String) #
(Quote m, Monoid w) => Quote (RWST r w s m) # |
Instance details Methods newName :: String -> RWST r w s m Name #