Safe Haskell | None |
---|---|
Language | Haskell98 |
Language.Haskell.TH.Build
Contents
- class Convertible a b where
- convert :: a -> b
- appE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> ExpQ
- appK' :: (Convertible kind Kind, Convertible kind' Kind) => kind -> kind' -> Kind
- appT' :: (Convertible typeQ TypeQ, Convertible typeQ' TypeQ) => typeQ -> typeQ' -> TypeQ
- appsE' :: Convertible expQs [ExpQ] => expQs -> ExpQ
- arithSeqE' :: Convertible rangeQ RangeQ => rangeQ -> ExpQ
- asP' :: (Convertible name Name, Convertible patQ PatQ) => name -> patQ -> PatQ
- bangP' :: Convertible patQ PatQ => patQ -> PatQ
- bindS' :: (Convertible patQ PatQ, Convertible expQ ExpQ) => patQ -> expQ -> StmtQ
- caseE' :: (Convertible expQ ExpQ, Convertible matchQs [MatchQ]) => expQ -> matchQs -> ExpQ
- classD' :: (Convertible cxtQ CxtQ, Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible funDeps [FunDep], Convertible decQs [DecQ]) => cxtQ -> name -> tyVarBndrs -> funDeps -> decQs -> DecQ
- classP' :: (Convertible name Name, Convertible typeQs [TypeQ]) => name -> typeQs -> PredQ
- clause' :: (Convertible patQs [PatQ], Convertible bodyQ BodyQ, Convertible decQs [DecQ]) => patQs -> bodyQ -> decQs -> ClauseQ
- closedTypeFamilyKindD' :: (Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible kind Kind, Convertible tySynEqnQs [TySynEqnQ]) => name -> tyVarBndrs -> kind -> tySynEqnQs -> DecQ
- closedTypeFamilyNoKindD' :: (Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible tySynEqnQs [TySynEqnQ]) => name -> tyVarBndrs -> tySynEqnQs -> DecQ
- compE' :: Convertible stmtQs [StmtQ] => stmtQs -> ExpQ
- conE' :: Convertible name Name => name -> ExpQ
- conK' :: Convertible name Name => name -> Kind
- conP' :: (Convertible name Name, Convertible patQs [PatQ]) => name -> patQs -> PatQ
- conT' :: Convertible name Name => name -> TypeQ
- condE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible expQ'' ExpQ) => expQ -> expQ' -> expQ'' -> ExpQ
- cxt' :: Convertible predQs [PredQ] => predQs -> CxtQ
- dataD' :: (Convertible cxtQ CxtQ, Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible conQs [ConQ], Convertible names [Name]) => cxtQ -> name -> tyVarBndrs -> conQs -> names -> DecQ
- dataInstD' :: (Convertible cxtQ CxtQ, Convertible name Name, Convertible typeQs [TypeQ], Convertible conQs [ConQ], Convertible names [Name]) => cxtQ -> name -> typeQs -> conQs -> names -> DecQ
- doE' :: Convertible stmtQs [StmtQ] => stmtQs -> ExpQ
- dyn' :: Convertible string String => string -> ExpQ
- equalP' :: (Convertible typeQ TypeQ, Convertible typeQ' TypeQ) => typeQ -> typeQ' -> PredQ
- familyKindD' :: (Convertible famFlavour FamFlavour, Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible kind Kind) => famFlavour -> name -> tyVarBndrs -> kind -> DecQ
- familyNoKindD' :: (Convertible famFlavour FamFlavour, Convertible name Name, Convertible tyVarBndrs [TyVarBndr]) => famFlavour -> name -> tyVarBndrs -> DecQ
- fieldExp' :: (Convertible name Name, Convertible expQ ExpQ) => name -> expQ -> Q (Name, Exp)
- fieldPat' :: (Convertible name Name, Convertible patQ PatQ) => name -> patQ -> FieldPatQ
- forImpD' :: (Convertible callconv Callconv, Convertible safety Safety, Convertible string String, Convertible name Name, Convertible typeQ TypeQ) => callconv -> safety -> string -> name -> typeQ -> DecQ
- forallC' :: (Convertible tyVarBndrs [TyVarBndr], Convertible cxtQ CxtQ, Convertible conQ ConQ) => tyVarBndrs -> cxtQ -> conQ -> ConQ
- forallT' :: (Convertible tyVarBndrs [TyVarBndr], Convertible cxtQ CxtQ, Convertible typeQ TypeQ) => tyVarBndrs -> cxtQ -> typeQ -> TypeQ
- fromE' :: Convertible expQ ExpQ => expQ -> ExpQ
- fromR' :: Convertible expQ ExpQ => expQ -> RangeQ
- fromThenE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> ExpQ
- fromThenR' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> RangeQ
- fromThenToE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible expQ'' ExpQ) => expQ -> expQ' -> expQ'' -> ExpQ
- fromThenToR' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible expQ'' ExpQ) => expQ -> expQ' -> expQ'' -> RangeQ
- fromToE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> ExpQ
- fromToR' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> RangeQ
- funD' :: (Convertible name Name, Convertible clauseQs [ClauseQ]) => name -> clauseQs -> DecQ
- funDep' :: (Convertible names [Name], Convertible names' [Name]) => names -> names' -> FunDep
- guardedB' :: Convertible guardedExpQs [Q (Guard, Exp)] => guardedExpQs -> BodyQ
- infixApp' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible expQ'' ExpQ) => expQ -> expQ' -> expQ'' -> ExpQ
- infixC' :: (Convertible strictTypeQ (Q (Strict, Type)), Convertible name Name, Convertible strictTypeQ' (Q (Strict, Type))) => strictTypeQ -> name -> strictTypeQ' -> ConQ
- infixE' :: (Convertible maybeExpQ (Maybe ExpQ), Convertible expQ ExpQ, Convertible maybeExpQ' (Maybe ExpQ)) => maybeExpQ -> expQ -> maybeExpQ' -> ExpQ
- infixLD' :: (Convertible int Int, Convertible name Name) => int -> name -> DecQ
- infixND' :: (Convertible int Int, Convertible name Name) => int -> name -> DecQ
- infixP' :: (Convertible patQ PatQ, Convertible name Name, Convertible patQ' PatQ) => patQ -> name -> patQ' -> PatQ
- infixRD' :: (Convertible int Int, Convertible name Name) => int -> name -> DecQ
- instanceD' :: (Convertible cxtQ CxtQ, Convertible typeQ TypeQ, Convertible decQs [DecQ]) => cxtQ -> typeQ -> decQs -> DecQ
- kindedTV' :: (Convertible name Name, Convertible kind Kind) => name -> kind -> TyVarBndr
- lam1E' :: (Convertible patQ PatQ, Convertible expQ ExpQ) => patQ -> expQ -> ExpQ
- lamCaseE' :: Convertible matchQs [MatchQ] => matchQs -> ExpQ
- lamE' :: (Convertible patQs [PatQ], Convertible expQ ExpQ) => patQs -> expQ -> ExpQ
- letE' :: (Convertible decQs [DecQ], Convertible expQ ExpQ) => decQs -> expQ -> ExpQ
- letS' :: Convertible decQs [DecQ] => decQs -> StmtQ
- listE' :: Convertible expQs [ExpQ] => expQs -> ExpQ
- listP' :: Convertible patQs [PatQ] => patQs -> PatQ
- litE' :: Convertible lit Lit => lit -> ExpQ
- litP' :: Convertible lit Lit => lit -> PatQ
- litT' :: Convertible tyLitQ TyLitQ => tyLitQ -> TypeQ
- match' :: (Convertible patQ PatQ, Convertible bodyQ BodyQ, Convertible decQs [DecQ]) => patQ -> bodyQ -> decQs -> MatchQ
- multiIfE' :: Convertible guardedExpQs [Q (Guard, Exp)] => guardedExpQs -> ExpQ
- newtypeD' :: (Convertible cxtQ CxtQ, Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible conQ ConQ, Convertible names [Name]) => cxtQ -> name -> tyVarBndrs -> conQ -> names -> DecQ
- newtypeInstD' :: (Convertible cxtQ CxtQ, Convertible name Name, Convertible typeQs [TypeQ], Convertible conQ ConQ, Convertible names [Name]) => cxtQ -> name -> typeQs -> conQ -> names -> DecQ
- noBindS' :: Convertible expQ ExpQ => expQ -> StmtQ
- normalB' :: Convertible expQ ExpQ => expQ -> BodyQ
- normalC' :: (Convertible name Name, Convertible strictTypeQs [StrictTypeQ]) => name -> strictTypeQs -> ConQ
- normalG' :: Convertible expQ ExpQ => expQ -> GuardQ
- normalGE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> Q (Guard, Exp)
- numTyLit' :: Convertible integer Integer => integer -> TyLitQ
- parS' :: Convertible stmtQss [[StmtQ]] => stmtQss -> StmtQ
- parensE' :: Convertible expQ ExpQ => expQ -> ExpQ
- parensP' :: Convertible patQ PatQ => patQ -> PatQ
- patG' :: Convertible stmtQs [StmtQ] => stmtQs -> GuardQ
- patGE' :: (Convertible stmtQs [StmtQ], Convertible expQ ExpQ) => stmtQs -> expQ -> Q (Guard, Exp)
- plainTV' :: Convertible name Name => name -> TyVarBndr
- pragAnnD' :: (Convertible annTarget AnnTarget, Convertible expQ ExpQ) => annTarget -> expQ -> DecQ
- pragInlD' :: (Convertible name Name, Convertible inline Inline, Convertible ruleMatch RuleMatch, Convertible phases Phases) => name -> inline -> ruleMatch -> phases -> DecQ
- pragRuleD' :: (Convertible string String, Convertible ruleBndrQs [RuleBndrQ], Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible phases Phases) => string -> ruleBndrQs -> expQ -> expQ' -> phases -> DecQ
- pragSpecD' :: (Convertible name Name, Convertible typeQ TypeQ, Convertible phases Phases) => name -> typeQ -> phases -> DecQ
- pragSpecInlD' :: (Convertible name Name, Convertible typeQ TypeQ, Convertible inline Inline, Convertible phases Phases) => name -> typeQ -> inline -> phases -> DecQ
- pragSpecInstD' :: Convertible typeQ TypeQ => typeQ -> DecQ
- promotedT' :: Convertible name Name => name -> TypeQ
- promotedTupleT' :: Convertible int Int => int -> TypeQ
- recC' :: (Convertible name Name, Convertible varStrictTypeQs [VarStrictTypeQ]) => name -> varStrictTypeQs -> ConQ
- recConE' :: (Convertible name Name, Convertible nameExpPairQs [Q (Name, Exp)]) => name -> nameExpPairQs -> ExpQ
- recP' :: (Convertible name Name, Convertible fieldPatQs [FieldPatQ]) => name -> fieldPatQs -> PatQ
- recUpdE' :: (Convertible expQ ExpQ, Convertible nameExpPairQs [Q (Name, Exp)]) => expQ -> nameExpPairQs -> ExpQ
- roleAnnotD' :: (Convertible name Name, Convertible roles [Role]) => name -> roles -> DecQ
- ruleVar' :: Convertible name Name => name -> RuleBndrQ
- sectionL' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> ExpQ
- sectionR' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> ExpQ
- sigD' :: (Convertible name Name, Convertible typeQ TypeQ) => name -> typeQ -> DecQ
- sigE' :: (Convertible expQ ExpQ, Convertible typeQ TypeQ) => expQ -> typeQ -> ExpQ
- sigP' :: (Convertible patQ PatQ, Convertible typeQ TypeQ) => patQ -> typeQ -> PatQ
- sigT' :: (Convertible typeQ TypeQ, Convertible kind Kind) => typeQ -> kind -> TypeQ
- strTyLit' :: Convertible string String => string -> TyLitQ
- strictType' :: (Convertible strictQ (Q Strict), Convertible typeQ TypeQ) => strictQ -> typeQ -> StrictTypeQ
- tildeP' :: Convertible patQ PatQ => patQ -> PatQ
- tupE' :: Convertible expQs [ExpQ] => expQs -> ExpQ
- tupP' :: Convertible patQs [PatQ] => patQs -> PatQ
- tupleK' :: Convertible int Int => int -> Kind
- tySynD' :: (Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible typeQ TypeQ) => name -> tyVarBndrs -> typeQ -> DecQ
- tySynEqn' :: (Convertible typeQs [TypeQ], Convertible typeQ TypeQ) => typeQs -> typeQ -> TySynEqnQ
- tySynInstD' :: (Convertible name Name, Convertible tySynEqnQ TySynEqnQ) => name -> tySynEqnQ -> DecQ
- typedRuleVar' :: (Convertible name Name, Convertible typeQ TypeQ) => name -> typeQ -> RuleBndrQ
- uInfixE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible expQ'' ExpQ) => expQ -> expQ' -> expQ'' -> ExpQ
- uInfixP' :: (Convertible patQ PatQ, Convertible name Name, Convertible patQ' PatQ) => patQ -> name -> patQ' -> PatQ
- unboxedTupE' :: Convertible expQs [ExpQ] => expQs -> ExpQ
- unboxedTupP' :: Convertible patQs [PatQ] => patQs -> PatQ
- valD' :: (Convertible patQ PatQ, Convertible bodyQ BodyQ, Convertible decQs [DecQ]) => patQ -> bodyQ -> decQs -> DecQ
- varE' :: Convertible name Name => name -> ExpQ
- varK' :: Convertible name Name => name -> Kind
- varP' :: Convertible name Name => name -> PatQ
- varStrictType' :: (Convertible name Name, Convertible strictTypeQ StrictTypeQ) => name -> strictTypeQ -> VarStrictTypeQ
- varT' :: Convertible name Name => name -> TypeQ
- viewP' :: (Convertible expQ ExpQ, Convertible patQ PatQ) => expQ -> patQ -> PatQ
- getFieldE :: Convertible a Name => a -> Int -> Int -> Q Exp
- htuple' :: Convertible a TypeQ => Int -> a -> TypeQ
- (\->) :: (Convertible a [PatQ], Convertible a1 ExpQ) => a -> a1 -> ExpQ
- class Arrows a b | a -> b, b -> a where
- arrow :: a -> b -> b
- (-->) :: (Convertible qa (Q a), Convertible qb (Q b), Arrows a b) => qa -> qb -> Q b
- class Sigs a b c | c -> a b, a -> b c where
- signature :: a -> b -> c
- (.::) :: (Convertible qa (Q a'), Convertible qb (Q b'), Sigs a' b' c) => qa -> qb -> Q c
- svalD :: (Convertible patQ PatQ, Convertible bodyQ BodyQ) => patQ -> bodyQ -> DecQ
- smatch :: (Convertible patQ PatQ, Convertible bodyQ BodyQ) => patQ -> bodyQ -> MatchQ
- sclause :: (Convertible patQs [PatQ], Convertible bodyQ BodyQ) => patQs -> bodyQ -> ClauseQ
- sdataD :: (Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible conQs [ConQ], Convertible names [Name]) => name -> tyVarBndrs -> conQs -> names -> DecQ
- snewtypeD :: (Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible conQ ConQ, Convertible names [Name]) => name -> tyVarBndrs -> conQ -> names -> DecQ
- expQ :: Convertible a ExpQ => a -> ExpQ
- expQs :: Convertible a [ExpQ] => a -> [ExpQ]
- patQ :: Convertible a PatQ => a -> PatQ
- patQs :: Convertible a [PatQ] => a -> [PatQ]
- typeQ :: Convertible a TypeQ => a -> TypeQ
- typeQs :: Convertible a [TypeQ] => a -> [TypeQ]
- name :: Convertible a Name => a -> Name
- tyVarBndr :: Convertible a TyVarBndr => a -> TyVarBndr
- conQ :: Convertible a ConQ => a -> ConQ
- cxtQ :: Convertible a CxtQ => a -> CxtQ
- strictTypeQ :: Convertible a StrictTypeQ => a -> StrictTypeQ
- strictTypeQs :: Convertible a [StrictTypeQ] => a -> [StrictTypeQ]
- decsQ :: Convertible a DecsQ => a -> DecsQ
Documentation
class Convertible a b where Source
Instances
Autoconverting wrappers around Language.Haskell.TH.Lib functions
appE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> ExpQ Source
Argument-converting wrapper for appE
.
appK' :: (Convertible kind Kind, Convertible kind' Kind) => kind -> kind' -> Kind Source
Argument-converting wrapper for appK
.
appT' :: (Convertible typeQ TypeQ, Convertible typeQ' TypeQ) => typeQ -> typeQ' -> TypeQ Source
Argument-converting wrapper for appT
.
arithSeqE' :: Convertible rangeQ RangeQ => rangeQ -> ExpQ Source
Argument-converting wrapper for arithSeqE
.
asP' :: (Convertible name Name, Convertible patQ PatQ) => name -> patQ -> PatQ Source
Argument-converting wrapper for asP
.
bindS' :: (Convertible patQ PatQ, Convertible expQ ExpQ) => patQ -> expQ -> StmtQ Source
Argument-converting wrapper for bindS
.
caseE' :: (Convertible expQ ExpQ, Convertible matchQs [MatchQ]) => expQ -> matchQs -> ExpQ Source
Argument-converting wrapper for caseE
.
classD' :: (Convertible cxtQ CxtQ, Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible funDeps [FunDep], Convertible decQs [DecQ]) => cxtQ -> name -> tyVarBndrs -> funDeps -> decQs -> DecQ Source
Argument-converting wrapper for classD
.
classP' :: (Convertible name Name, Convertible typeQs [TypeQ]) => name -> typeQs -> PredQ Source
Argument-converting wrapper for classP
.
clause' :: (Convertible patQs [PatQ], Convertible bodyQ BodyQ, Convertible decQs [DecQ]) => patQs -> bodyQ -> decQs -> ClauseQ Source
Argument-converting wrapper for clause
.
closedTypeFamilyKindD' :: (Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible kind Kind, Convertible tySynEqnQs [TySynEqnQ]) => name -> tyVarBndrs -> kind -> tySynEqnQs -> DecQ Source
Argument-converting wrapper for closedTypeFamilyKindD
.
closedTypeFamilyNoKindD' :: (Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible tySynEqnQs [TySynEqnQ]) => name -> tyVarBndrs -> tySynEqnQs -> DecQ Source
Argument-converting wrapper for closedTypeFamilyNoKindD
.
conP' :: (Convertible name Name, Convertible patQs [PatQ]) => name -> patQs -> PatQ Source
Argument-converting wrapper for conP
.
condE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible expQ'' ExpQ) => expQ -> expQ' -> expQ'' -> ExpQ Source
Argument-converting wrapper for condE
.
dataD' :: (Convertible cxtQ CxtQ, Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible conQs [ConQ], Convertible names [Name]) => cxtQ -> name -> tyVarBndrs -> conQs -> names -> DecQ Source
Argument-converting wrapper for dataD
.
dataInstD' :: (Convertible cxtQ CxtQ, Convertible name Name, Convertible typeQs [TypeQ], Convertible conQs [ConQ], Convertible names [Name]) => cxtQ -> name -> typeQs -> conQs -> names -> DecQ Source
Argument-converting wrapper for dataInstD
.
equalP' :: (Convertible typeQ TypeQ, Convertible typeQ' TypeQ) => typeQ -> typeQ' -> PredQ Source
Argument-converting wrapper for equalP
.
familyKindD' :: (Convertible famFlavour FamFlavour, Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible kind Kind) => famFlavour -> name -> tyVarBndrs -> kind -> DecQ Source
Argument-converting wrapper for familyKindD
.
familyNoKindD' :: (Convertible famFlavour FamFlavour, Convertible name Name, Convertible tyVarBndrs [TyVarBndr]) => famFlavour -> name -> tyVarBndrs -> DecQ Source
Argument-converting wrapper for familyNoKindD
.
fieldExp' :: (Convertible name Name, Convertible expQ ExpQ) => name -> expQ -> Q (Name, Exp) Source
Argument-converting wrapper for fieldExp
.
fieldPat' :: (Convertible name Name, Convertible patQ PatQ) => name -> patQ -> FieldPatQ Source
Argument-converting wrapper for fieldPat
.
forImpD' :: (Convertible callconv Callconv, Convertible safety Safety, Convertible string String, Convertible name Name, Convertible typeQ TypeQ) => callconv -> safety -> string -> name -> typeQ -> DecQ Source
Argument-converting wrapper for forImpD
.
forallC' :: (Convertible tyVarBndrs [TyVarBndr], Convertible cxtQ CxtQ, Convertible conQ ConQ) => tyVarBndrs -> cxtQ -> conQ -> ConQ Source
Argument-converting wrapper for forallC
.
forallT' :: (Convertible tyVarBndrs [TyVarBndr], Convertible cxtQ CxtQ, Convertible typeQ TypeQ) => tyVarBndrs -> cxtQ -> typeQ -> TypeQ Source
Argument-converting wrapper for forallT
.
fromThenE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> ExpQ Source
Argument-converting wrapper for fromThenE
.
fromThenR' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> RangeQ Source
Argument-converting wrapper for fromThenR
.
fromThenToE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible expQ'' ExpQ) => expQ -> expQ' -> expQ'' -> ExpQ Source
Argument-converting wrapper for fromThenToE
.
fromThenToR' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible expQ'' ExpQ) => expQ -> expQ' -> expQ'' -> RangeQ Source
Argument-converting wrapper for fromThenToR
.
fromToE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> ExpQ Source
Argument-converting wrapper for fromToE
.
fromToR' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> RangeQ Source
Argument-converting wrapper for fromToR
.
funD' :: (Convertible name Name, Convertible clauseQs [ClauseQ]) => name -> clauseQs -> DecQ Source
Argument-converting wrapper for funD
.
funDep' :: (Convertible names [Name], Convertible names' [Name]) => names -> names' -> FunDep Source
Argument-converting wrapper for funDep
.
guardedB' :: Convertible guardedExpQs [Q (Guard, Exp)] => guardedExpQs -> BodyQ Source
Argument-converting wrapper for guardedB
.
infixApp' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible expQ'' ExpQ) => expQ -> expQ' -> expQ'' -> ExpQ Source
Argument-converting wrapper for infixApp
.
infixC' :: (Convertible strictTypeQ (Q (Strict, Type)), Convertible name Name, Convertible strictTypeQ' (Q (Strict, Type))) => strictTypeQ -> name -> strictTypeQ' -> ConQ Source
Argument-converting wrapper for infixC
.
infixE' :: (Convertible maybeExpQ (Maybe ExpQ), Convertible expQ ExpQ, Convertible maybeExpQ' (Maybe ExpQ)) => maybeExpQ -> expQ -> maybeExpQ' -> ExpQ Source
Argument-converting wrapper for infixE
.
infixLD' :: (Convertible int Int, Convertible name Name) => int -> name -> DecQ Source
Argument-converting wrapper for infixLD
.
infixND' :: (Convertible int Int, Convertible name Name) => int -> name -> DecQ Source
Argument-converting wrapper for infixND
.
infixP' :: (Convertible patQ PatQ, Convertible name Name, Convertible patQ' PatQ) => patQ -> name -> patQ' -> PatQ Source
Argument-converting wrapper for infixP
.
infixRD' :: (Convertible int Int, Convertible name Name) => int -> name -> DecQ Source
Argument-converting wrapper for infixRD
.
instanceD' :: (Convertible cxtQ CxtQ, Convertible typeQ TypeQ, Convertible decQs [DecQ]) => cxtQ -> typeQ -> decQs -> DecQ Source
Argument-converting wrapper for instanceD
.
kindedTV' :: (Convertible name Name, Convertible kind Kind) => name -> kind -> TyVarBndr Source
Argument-converting wrapper for kindedTV
.
lam1E' :: (Convertible patQ PatQ, Convertible expQ ExpQ) => patQ -> expQ -> ExpQ Source
Argument-converting wrapper for lam1E
.
lamCaseE' :: Convertible matchQs [MatchQ] => matchQs -> ExpQ Source
Argument-converting wrapper for lamCaseE
.
lamE' :: (Convertible patQs [PatQ], Convertible expQ ExpQ) => patQs -> expQ -> ExpQ Source
Argument-converting wrapper for lamE
.
letE' :: (Convertible decQs [DecQ], Convertible expQ ExpQ) => decQs -> expQ -> ExpQ Source
Argument-converting wrapper for letE
.
match' :: (Convertible patQ PatQ, Convertible bodyQ BodyQ, Convertible decQs [DecQ]) => patQ -> bodyQ -> decQs -> MatchQ Source
Argument-converting wrapper for match
.
multiIfE' :: Convertible guardedExpQs [Q (Guard, Exp)] => guardedExpQs -> ExpQ Source
Argument-converting wrapper for multiIfE
.
newtypeD' :: (Convertible cxtQ CxtQ, Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible conQ ConQ, Convertible names [Name]) => cxtQ -> name -> tyVarBndrs -> conQ -> names -> DecQ Source
Argument-converting wrapper for newtypeD
.
newtypeInstD' :: (Convertible cxtQ CxtQ, Convertible name Name, Convertible typeQs [TypeQ], Convertible conQ ConQ, Convertible names [Name]) => cxtQ -> name -> typeQs -> conQ -> names -> DecQ Source
Argument-converting wrapper for newtypeInstD
.
normalC' :: (Convertible name Name, Convertible strictTypeQs [StrictTypeQ]) => name -> strictTypeQs -> ConQ Source
Argument-converting wrapper for normalC
.
normalGE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> Q (Guard, Exp) Source
Argument-converting wrapper for normalGE
.
numTyLit' :: Convertible integer Integer => integer -> TyLitQ Source
Argument-converting wrapper for numTyLit
.
parS' :: Convertible stmtQss [[StmtQ]] => stmtQss -> StmtQ Source
Argument-converting wrapper for parS
.
patGE' :: (Convertible stmtQs [StmtQ], Convertible expQ ExpQ) => stmtQs -> expQ -> Q (Guard, Exp) Source
Argument-converting wrapper for patGE
.
plainTV' :: Convertible name Name => name -> TyVarBndr Source
Argument-converting wrapper for plainTV
.
pragAnnD' :: (Convertible annTarget AnnTarget, Convertible expQ ExpQ) => annTarget -> expQ -> DecQ Source
Argument-converting wrapper for pragAnnD
.
pragInlD' :: (Convertible name Name, Convertible inline Inline, Convertible ruleMatch RuleMatch, Convertible phases Phases) => name -> inline -> ruleMatch -> phases -> DecQ Source
Argument-converting wrapper for pragInlD
.
pragRuleD' :: (Convertible string String, Convertible ruleBndrQs [RuleBndrQ], Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible phases Phases) => string -> ruleBndrQs -> expQ -> expQ' -> phases -> DecQ Source
Argument-converting wrapper for pragRuleD
.
pragSpecD' :: (Convertible name Name, Convertible typeQ TypeQ, Convertible phases Phases) => name -> typeQ -> phases -> DecQ Source
Argument-converting wrapper for pragSpecD
.
pragSpecInlD' :: (Convertible name Name, Convertible typeQ TypeQ, Convertible inline Inline, Convertible phases Phases) => name -> typeQ -> inline -> phases -> DecQ Source
Argument-converting wrapper for pragSpecInlD
.
pragSpecInstD' :: Convertible typeQ TypeQ => typeQ -> DecQ Source
Argument-converting wrapper for pragSpecInstD
.
promotedT' :: Convertible name Name => name -> TypeQ Source
Argument-converting wrapper for promotedT
.
promotedTupleT' :: Convertible int Int => int -> TypeQ Source
Argument-converting wrapper for promotedTupleT
.
recC' :: (Convertible name Name, Convertible varStrictTypeQs [VarStrictTypeQ]) => name -> varStrictTypeQs -> ConQ Source
Argument-converting wrapper for recC
.
recConE' :: (Convertible name Name, Convertible nameExpPairQs [Q (Name, Exp)]) => name -> nameExpPairQs -> ExpQ Source
Argument-converting wrapper for recConE
.
recP' :: (Convertible name Name, Convertible fieldPatQs [FieldPatQ]) => name -> fieldPatQs -> PatQ Source
Argument-converting wrapper for recP
.
recUpdE' :: (Convertible expQ ExpQ, Convertible nameExpPairQs [Q (Name, Exp)]) => expQ -> nameExpPairQs -> ExpQ Source
Argument-converting wrapper for recUpdE
.
roleAnnotD' :: (Convertible name Name, Convertible roles [Role]) => name -> roles -> DecQ Source
Argument-converting wrapper for roleAnnotD
.
ruleVar' :: Convertible name Name => name -> RuleBndrQ Source
Argument-converting wrapper for ruleVar
.
sectionL' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> ExpQ Source
Argument-converting wrapper for sectionL
.
sectionR' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> ExpQ Source
Argument-converting wrapper for sectionR
.
sigD' :: (Convertible name Name, Convertible typeQ TypeQ) => name -> typeQ -> DecQ Source
Argument-converting wrapper for sigD
.
sigE' :: (Convertible expQ ExpQ, Convertible typeQ TypeQ) => expQ -> typeQ -> ExpQ Source
Argument-converting wrapper for sigE
.
sigP' :: (Convertible patQ PatQ, Convertible typeQ TypeQ) => patQ -> typeQ -> PatQ Source
Argument-converting wrapper for sigP
.
sigT' :: (Convertible typeQ TypeQ, Convertible kind Kind) => typeQ -> kind -> TypeQ Source
Argument-converting wrapper for sigT
.
strTyLit' :: Convertible string String => string -> TyLitQ Source
Argument-converting wrapper for strTyLit
.
strictType' :: (Convertible strictQ (Q Strict), Convertible typeQ TypeQ) => strictQ -> typeQ -> StrictTypeQ Source
Argument-converting wrapper for strictType
.
tySynD' :: (Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible typeQ TypeQ) => name -> tyVarBndrs -> typeQ -> DecQ Source
Argument-converting wrapper for tySynD
.
tySynEqn' :: (Convertible typeQs [TypeQ], Convertible typeQ TypeQ) => typeQs -> typeQ -> TySynEqnQ Source
Argument-converting wrapper for tySynEqn
.
tySynInstD' :: (Convertible name Name, Convertible tySynEqnQ TySynEqnQ) => name -> tySynEqnQ -> DecQ Source
Argument-converting wrapper for tySynInstD
.
typedRuleVar' :: (Convertible name Name, Convertible typeQ TypeQ) => name -> typeQ -> RuleBndrQ Source
Argument-converting wrapper for typedRuleVar
.
uInfixE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible expQ'' ExpQ) => expQ -> expQ' -> expQ'' -> ExpQ Source
Argument-converting wrapper for uInfixE
.
uInfixP' :: (Convertible patQ PatQ, Convertible name Name, Convertible patQ' PatQ) => patQ -> name -> patQ' -> PatQ Source
Argument-converting wrapper for uInfixP
.
unboxedTupE' :: Convertible expQs [ExpQ] => expQs -> ExpQ Source
Argument-converting wrapper for unboxedTupE
.
unboxedTupP' :: Convertible patQs [PatQ] => patQs -> PatQ Source
Argument-converting wrapper for unboxedTupP
.
valD' :: (Convertible patQ PatQ, Convertible bodyQ BodyQ, Convertible decQs [DecQ]) => patQ -> bodyQ -> decQs -> DecQ Source
Argument-converting wrapper for valD
.
varStrictType' :: (Convertible name Name, Convertible strictTypeQ StrictTypeQ) => name -> strictTypeQ -> VarStrictTypeQ Source
Argument-converting wrapper for varStrictType
.
viewP' :: (Convertible expQ ExpQ, Convertible patQ PatQ) => expQ -> patQ -> PatQ Source
Argument-converting wrapper for viewP
.
Additional builder functions
Sugar
(\->) :: (Convertible a [PatQ], Convertible a1 ExpQ) => a -> a1 -> ExpQ infixr 1 Source
(-->) :: (Convertible qa (Q a), Convertible qb (Q b), Arrows a b) => qa -> qb -> Q b infixr 1 Source
(.::) :: (Convertible qa (Q a'), Convertible qb (Q b'), Sigs a' b' c) => qa -> qb -> Q c infixl 1 Source
Variants without usually-empty parameters
svalD :: (Convertible patQ PatQ, Convertible bodyQ BodyQ) => patQ -> bodyQ -> DecQ Source
Value decl without a where
-clause
smatch :: (Convertible patQ PatQ, Convertible bodyQ BodyQ) => patQ -> bodyQ -> MatchQ Source
case
match without a where
-clause
sclause :: (Convertible patQs [PatQ], Convertible bodyQ BodyQ) => patQs -> bodyQ -> ClauseQ Source
Clause
without a where
-clause
sdataD :: (Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible conQs [ConQ], Convertible names [Name]) => name -> tyVarBndrs -> conQs -> names -> DecQ Source
data
decl with no context
snewtypeD :: (Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible conQ ConQ, Convertible names [Name]) => name -> tyVarBndrs -> conQ -> names -> DecQ Source
newtype
decl with no context
Type restrictions of convert
expQ :: Convertible a ExpQ => a -> ExpQ Source
expQs :: Convertible a [ExpQ] => a -> [ExpQ] Source
patQ :: Convertible a PatQ => a -> PatQ Source
patQs :: Convertible a [PatQ] => a -> [PatQ] Source
typeQ :: Convertible a TypeQ => a -> TypeQ Source
typeQs :: Convertible a [TypeQ] => a -> [TypeQ] Source
name :: Convertible a Name => a -> Name Source
tyVarBndr :: Convertible a TyVarBndr => a -> TyVarBndr Source
conQ :: Convertible a ConQ => a -> ConQ Source
cxtQ :: Convertible a CxtQ => a -> CxtQ Source
strictTypeQ :: Convertible a StrictTypeQ => a -> StrictTypeQ Source
strictTypeQs :: Convertible a [StrictTypeQ] => a -> [StrictTypeQ] Source
decsQ :: Convertible a DecsQ => a -> DecsQ Source