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

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 #

If the function passed to mfix inspects its argument, the resulting action will throw a FixIOException (base >=4.11) or a BlockedIndefinitelyOnMVar with older base.

Instance details

Methods

mfix :: (a -> Q a) -> Q a #

Lift Exp # 
Instance details

Methods

lift :: Exp -> Q Exp #

liftTyped :: Exp -> Q (TExp Exp) #

Lift Match # 
Instance details

Methods

lift :: Match -> Q Exp #

liftTyped :: Match -> Q (TExp Match) #

Lift Clause # 
Instance details

Methods

lift :: Clause -> Q Exp #

liftTyped :: Clause -> Q (TExp Clause) #

Lift Pat # 
Instance details

Methods

lift :: Pat -> Q Exp #

liftTyped :: Pat -> Q (TExp Pat) #

Lift Type # 
Instance details

Methods

lift :: Type -> Q Exp #

liftTyped :: Type -> Q (TExp Type) #

Lift Dec # 
Instance details

Methods

lift :: Dec -> Q Exp #

liftTyped :: Dec -> Q (TExp Dec) #

Lift FunDep # 
Instance details

Methods

lift :: FunDep -> Q Exp #

liftTyped :: FunDep -> Q (TExp FunDep) #

Lift InjectivityAnn # 
Instance details

Lift Overlap # 
Instance details

Methods

lift :: Overlap -> Q Exp #

liftTyped :: Overlap -> Q (TExp Overlap) #

Lift Loc # 
Instance details

Methods

lift :: Loc -> Q Exp #

liftTyped :: Loc -> Q (TExp Loc) #

Lift Info # 
Instance details

Methods

lift :: Info -> Q Exp #

liftTyped :: Info -> Q (TExp Info) #

Lift Fixity # 
Instance details

Methods

lift :: Fixity -> Q Exp #

liftTyped :: Fixity -> Q (TExp Fixity) #

Lift FixityDirection # 
Instance details

Lift Lit # 
Instance details

Methods

lift :: Lit -> Q Exp #

liftTyped :: Lit -> Q (TExp Lit) #

Lift Bytes # 
Instance details

Methods

lift :: Bytes -> Q Exp #

liftTyped :: Bytes -> Q (TExp Bytes) #

Lift Body # 
Instance details

Methods

lift :: Body -> Q Exp #

liftTyped :: Body -> Q (TExp Body) #

Lift Guard # 
Instance details

Methods

lift :: Guard -> Q Exp #

liftTyped :: Guard -> Q (TExp Guard) #

Lift Stmt # 
Instance details

Methods

lift :: Stmt -> Q Exp #

liftTyped :: Stmt -> Q (TExp Stmt) #

Lift Range # 
Instance details

Methods

lift :: Range -> Q Exp #

liftTyped :: Range -> Q (TExp Range) #

Lift DerivClause # 
Instance details

Lift DerivStrategy # 
Instance details

Lift TypeFamilyHead # 
Instance details

Lift TySynEqn # 
Instance details

Lift Foreign # 
Instance details

Methods

lift :: Foreign -> Q Exp #

liftTyped :: Foreign -> Q (TExp Foreign) #

Lift Callconv # 
Instance details

Lift Safety # 
Instance details

Methods

lift :: Safety -> Q Exp #

liftTyped :: Safety -> Q (TExp Safety) #

Lift Pragma # 
Instance details

Methods

lift :: Pragma -> Q Exp #

liftTyped :: Pragma -> Q (TExp Pragma) #

Lift Inline # 
Instance details

Methods

lift :: Inline -> Q Exp #

liftTyped :: Inline -> Q (TExp Inline) #

Lift RuleMatch # 
Instance details

Lift Phases # 
Instance details

Methods

lift :: Phases -> Q Exp #

liftTyped :: Phases -> Q (TExp Phases) #

Lift RuleBndr # 
Instance details

Lift AnnTarget # 
Instance details

Lift SourceUnpackedness # 
Instance details

Lift SourceStrictness # 
Instance details

Lift Con # 
Instance details

Methods

lift :: Con -> Q Exp #

liftTyped :: Con -> Q (TExp Con) #

Lift Bang # 
Instance details

Methods

lift :: Bang -> Q Exp #

liftTyped :: Bang -> Q (TExp Bang) #

Lift PatSynDir # 
Instance details

Lift PatSynArgs # 
Instance details

Lift TyVarBndr # 
Instance details

Lift FamilyResultSig # 
Instance details

Lift TyLit # 
Instance details

Methods

lift :: TyLit -> Q Exp #

liftTyped :: TyLit -> Q (TExp TyLit) #

Lift Role # 
Instance details

Methods

lift :: Role -> Q Exp #

liftTyped :: Role -> Q (TExp Role) #

Semigroup a => Semigroup (Q a) # 
Instance details

Methods

(<>) :: Q a -> Q a -> Q a #

sconcat :: NonEmpty (Q a) -> Q a #

stimes :: Integral b => b -> Q a -> Q a #

Monoid a => Monoid (Q a) # 
Instance details

Methods

mempty :: Q a #

mappend :: Q a -> Q a -> Q a #

mconcat :: [Q a] -> Q a #

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

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

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

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 #

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

Methods

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