th-orphans-0.13.13: Orphan instances for TH datatypes
Copyright(c) Matt Morrow 2008
LicenseBSD3
MaintainerMichael Sloan <mgsloan at gmail>
Stabilityexperimental
Portabilityportable (template-haskell)
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.Haskell.TH.Instances

Description

It provides the following instances:

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

Lift AnnTarget Source # 
Instance details

Methods

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

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

Lift Bang Source # 
Instance details

Methods

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

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

Lift Body Source # 
Instance details

Methods

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

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

Lift Bytes Source # 
Instance details

Methods

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

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

Lift Callconv Source # 
Instance details

Methods

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

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

Lift Clause Source # 
Instance details

Methods

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

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

Lift Con Source # 
Instance details

Methods

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

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

Lift Dec Source # 
Instance details

Methods

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

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

Lift DerivClause Source # 
Instance details

Methods

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

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

Lift DerivStrategy Source # 
Instance details

Methods

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

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

Lift Exp Source # 
Instance details

Methods

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

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

Lift FamilyResultSig Source # 
Instance details

Lift Fixity Source # 
Instance details

Methods

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

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

Lift FixityDirection Source # 
Instance details

Lift Foreign Source # 
Instance details

Methods

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

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

Lift FunDep Source # 
Instance details

Methods

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

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

Lift Guard Source # 
Instance details

Methods

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

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

Lift Info Source # 
Instance details

Methods

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

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

Lift InjectivityAnn Source # 
Instance details

Methods

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

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

Lift Inline Source # 
Instance details

Methods

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

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

Lift Lit Source # 
Instance details

Methods

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

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

Lift Loc Source # 
Instance details

Methods

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

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

Lift Match Source # 
Instance details

Methods

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

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

Lift Overlap Source # 
Instance details

Methods

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

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

Lift Pat Source # 
Instance details

Methods

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

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

Lift PatSynArgs Source # 
Instance details

Methods

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

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

Lift PatSynDir Source # 
Instance details

Methods

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

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

Lift Phases Source # 
Instance details

Methods

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

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

Lift Pragma Source # 
Instance details

Methods

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

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

Lift Range Source # 
Instance details

Methods

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

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

Lift Role Source # 
Instance details

Methods

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

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

Lift RuleBndr Source # 
Instance details

Methods

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

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

Lift RuleMatch Source # 
Instance details

Methods

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

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

Lift Safety Source # 
Instance details

Methods

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

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

Lift SourceStrictness Source # 
Instance details

Lift SourceUnpackedness Source # 
Instance details

Lift Specificity Source # 
Instance details

Methods

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

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

Lift Stmt Source # 
Instance details

Methods

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

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

Lift TyLit Source # 
Instance details

Methods

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

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

Lift TySynEqn Source # 
Instance details

Methods

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

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

Lift Type Source # 
Instance details

Methods

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

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

Lift TypeFamilyHead Source # 
Instance details

Methods

lift :: Quote m => TypeFamilyHead -> m Exp Source #

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

Lift flag => Lift (TyVarBndr flag :: Type) Source # 
Instance details

Methods

lift :: Quote m => TyVarBndr flag -> m Exp Source #

liftTyped :: forall (m :: Type -> Type). Quote m => TyVarBndr flag -> Code m (TyVarBndr flag) Source #

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

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

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

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

Methods

newName :: String -> ReaderT r m Name Source #

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

Methods

newName :: String -> StateT s m Name Source #

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

Methods

newName :: String -> WriterT w m Name Source #

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

Methods

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

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

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

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

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

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

qReifyType :: Name -> RWST r w s m Type Source #

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

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

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

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

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

qLocation :: RWST r w s m Loc Source #

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

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

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

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

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

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

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

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

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

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

qExtsEnabled :: RWST r w s m [Extension] Source #

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

Methods

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