th-orphans-0.13.16: 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

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 Source # 
Instance details

Methods

lift :: Quote m => AnnTarget -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => AnnTarget -> Code m AnnTarget

Lift Bang Source # 
Instance details

Methods

lift :: Quote m => Bang -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Bang -> Code m Bang

Lift BndrVis Source # 
Instance details

Methods

lift :: Quote m => BndrVis -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => BndrVis -> Code m BndrVis

Lift Body Source # 
Instance details

Methods

lift :: Quote m => Body -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Body -> Code m Body

Lift Bytes Source # 
Instance details

Methods

lift :: Quote m => Bytes -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Bytes -> Code m Bytes

Lift Callconv Source # 
Instance details

Methods

lift :: Quote m => Callconv -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Callconv -> Code m Callconv

Lift Clause Source # 
Instance details

Methods

lift :: Quote m => Clause -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Clause -> Code m Clause

Lift Con Source # 
Instance details

Methods

lift :: Quote m => Con -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Con -> Code m Con

Lift Dec Source # 
Instance details

Methods

lift :: Quote m => Dec -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Dec -> Code m Dec

Lift DerivClause Source # 
Instance details

Methods

lift :: Quote m => DerivClause -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => DerivClause -> Code m DerivClause

Lift DerivStrategy Source # 
Instance details

Methods

lift :: Quote m => DerivStrategy -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => DerivStrategy -> Code m DerivStrategy

Lift Exp Source # 
Instance details

Methods

lift :: Quote m => Exp -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Exp -> Code m Exp

Lift FamilyResultSig Source # 
Instance details

Methods

lift :: Quote m => FamilyResultSig -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => FamilyResultSig -> Code m FamilyResultSig

Lift Fixity Source # 
Instance details

Methods

lift :: Quote m => Fixity -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Fixity -> Code m Fixity

Lift FixityDirection Source # 
Instance details

Methods

lift :: Quote m => FixityDirection -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => FixityDirection -> Code m FixityDirection

Lift Foreign Source # 
Instance details

Methods

lift :: Quote m => Foreign -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Foreign -> Code m Foreign

Lift FunDep Source # 
Instance details

Methods

lift :: Quote m => FunDep -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => FunDep -> Code m FunDep

Lift Guard Source # 
Instance details

Methods

lift :: Quote m => Guard -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Guard -> Code m Guard

Lift Info Source # 
Instance details

Methods

lift :: Quote m => Info -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Info -> Code m Info

Lift InjectivityAnn Source # 
Instance details

Methods

lift :: Quote m => InjectivityAnn -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => InjectivityAnn -> Code m InjectivityAnn

Lift Inline Source # 
Instance details

Methods

lift :: Quote m => Inline -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Inline -> Code m Inline

Lift Lit Source # 
Instance details

Methods

lift :: Quote m => Lit -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Lit -> Code m Lit

Lift Loc Source # 
Instance details

Methods

lift :: Quote m => Loc -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Loc -> Code m Loc

Lift Match Source # 
Instance details

Methods

lift :: Quote m => Match -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Match -> Code m Match

Lift NamespaceSpecifier Source # 
Instance details

Methods

lift :: Quote m => NamespaceSpecifier -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => NamespaceSpecifier -> Code m NamespaceSpecifier

Lift Overlap Source # 
Instance details

Methods

lift :: Quote m => Overlap -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Overlap -> Code m Overlap

Lift Pat Source # 
Instance details

Methods

lift :: Quote m => Pat -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Pat -> Code m Pat

Lift PatSynArgs Source # 
Instance details

Methods

lift :: Quote m => PatSynArgs -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => PatSynArgs -> Code m PatSynArgs

Lift PatSynDir Source # 
Instance details

Methods

lift :: Quote m => PatSynDir -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => PatSynDir -> Code m PatSynDir

Lift Phases Source # 
Instance details

Methods

lift :: Quote m => Phases -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Phases -> Code m Phases

Lift Pragma Source # 
Instance details

Methods

lift :: Quote m => Pragma -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Pragma -> Code m Pragma

Lift Range Source # 
Instance details

Methods

lift :: Quote m => Range -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Range -> Code m Range

Lift Role Source # 
Instance details

Methods

lift :: Quote m => Role -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Role -> Code m Role

Lift RuleBndr Source # 
Instance details

Methods

lift :: Quote m => RuleBndr -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => RuleBndr -> Code m RuleBndr

Lift RuleMatch Source # 
Instance details

Methods

lift :: Quote m => RuleMatch -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => RuleMatch -> Code m RuleMatch

Lift Safety Source # 
Instance details

Methods

lift :: Quote m => Safety -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Safety -> Code m Safety

Lift SourceStrictness Source # 
Instance details

Methods

lift :: Quote m => SourceStrictness -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => SourceStrictness -> Code m SourceStrictness

Lift SourceUnpackedness Source # 
Instance details

Methods

lift :: Quote m => SourceUnpackedness -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => SourceUnpackedness -> Code m SourceUnpackedness

Lift Specificity Source # 
Instance details

Methods

lift :: Quote m => Specificity -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Specificity -> Code m Specificity

Lift Stmt Source # 
Instance details

Methods

lift :: Quote m => Stmt -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Stmt -> Code m Stmt

Lift TyLit Source # 
Instance details

Methods

lift :: Quote m => TyLit -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => TyLit -> Code m TyLit

Lift TySynEqn Source # 
Instance details

Methods

lift :: Quote m => TySynEqn -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => TySynEqn -> Code m TySynEqn

Lift Type Source # 
Instance details

Methods

lift :: Quote m => Type -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Type -> Code m Type

Lift TypeFamilyHead Source # 
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) Source # 
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) 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)

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) 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)

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) 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)

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) Source # 
Instance details

Methods

newName :: String -> ReaderT r m Name

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

Methods

newName :: String -> StateT s m Name

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

Methods

newName :: String -> WriterT w m Name

(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)

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) Source # 
Instance details

Methods

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