| 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