th-build-0.1.0.0: More convenient construction of TH ASTs

Safe HaskellSafe-Infered

Language.Haskell.TH.Build.Wrappers

Documentation

appE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> ExpQSource

appT' :: (Convertible typeQ TypeQ, Convertible typeQ' TypeQ) => typeQ -> typeQ' -> TypeQSource

appsE' :: Convertible expQs [ExpQ] => expQs -> ExpQSource

arithSeqE' :: Convertible rangeQ RangeQ => rangeQ -> ExpQSource

arrowK' :: (Convertible kind Kind, Convertible kind' Kind) => kind -> kind' -> KindSource

asP' :: (Convertible name Name, Convertible patQ PatQ) => name -> patQ -> PatQSource

bangP' :: Convertible patQ PatQ => patQ -> PatQSource

bindS' :: (Convertible patQ PatQ, Convertible expQ ExpQ) => patQ -> expQ -> StmtQSource

caseE' :: (Convertible expQ ExpQ, Convertible matchQs [MatchQ]) => expQ -> matchQs -> ExpQSource

classD' :: (Convertible cxtQ CxtQ, Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible funDeps [FunDep], Convertible decQs [DecQ]) => cxtQ -> name -> tyVarBndrs -> funDeps -> decQs -> DecQSource

classP' :: (Convertible name Name, Convertible typeQs [TypeQ]) => name -> typeQs -> PredQSource

clause' :: (Convertible patQs [PatQ], Convertible bodyQ BodyQ, Convertible decQs [DecQ]) => patQs -> bodyQ -> decQs -> ClauseQSource

compE' :: Convertible stmtQs [StmtQ] => stmtQs -> ExpQSource

conE' :: Convertible name Name => name -> ExpQSource

conP' :: (Convertible name Name, Convertible patQs [PatQ]) => name -> patQs -> PatQSource

conT' :: Convertible name Name => name -> TypeQSource

condE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible expQ'' ExpQ) => expQ -> expQ' -> expQ'' -> ExpQSource

cxt' :: Convertible predQs [PredQ] => predQs -> CxtQSource

dataD' :: (Convertible cxtQ CxtQ, Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible conQs [ConQ], Convertible names [Name]) => cxtQ -> name -> tyVarBndrs -> conQs -> names -> DecQSource

dataInstD' :: (Convertible cxtQ CxtQ, Convertible name Name, Convertible typeQs [TypeQ], Convertible conQs [ConQ], Convertible names [Name]) => cxtQ -> name -> typeQs -> conQs -> names -> DecQSource

doE' :: Convertible stmtQs [StmtQ] => stmtQs -> ExpQSource

dyn' :: Convertible string String => string -> Q ExpSource

equalP' :: (Convertible typeQ TypeQ, Convertible typeQ' TypeQ) => typeQ -> typeQ' -> PredQSource

familyKindD' :: (Convertible famFlavour FamFlavour, Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible kind Kind) => famFlavour -> name -> tyVarBndrs -> kind -> DecQSource

familyNoKindD' :: (Convertible famFlavour FamFlavour, Convertible name Name, Convertible tyVarBndrs [TyVarBndr]) => famFlavour -> name -> tyVarBndrs -> DecQSource

fieldExp' :: (Convertible name Name, Convertible expQ ExpQ) => name -> expQ -> Q (Name, Exp)Source

fieldPat' :: (Convertible name Name, Convertible patQ PatQ) => name -> patQ -> FieldPatQSource

forImpD' :: (Convertible callconv Callconv, Convertible safety Safety, Convertible string String, Convertible name Name, Convertible typeQ TypeQ) => callconv -> safety -> string -> name -> typeQ -> DecQSource

forallC' :: (Convertible tyVarBndrs [TyVarBndr], Convertible cxtQ CxtQ, Convertible conQ ConQ) => tyVarBndrs -> cxtQ -> conQ -> ConQSource

forallT' :: (Convertible tyVarBndrs [TyVarBndr], Convertible cxtQ CxtQ, Convertible typeQ TypeQ) => tyVarBndrs -> cxtQ -> typeQ -> TypeQSource

fromE' :: Convertible expQ ExpQ => expQ -> ExpQSource

fromR' :: Convertible expQ ExpQ => expQ -> RangeQSource

fromThenE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> ExpQSource

fromThenR' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> RangeQSource

fromThenToE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible expQ'' ExpQ) => expQ -> expQ' -> expQ'' -> ExpQSource

fromThenToR' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible expQ'' ExpQ) => expQ -> expQ' -> expQ'' -> RangeQSource

fromToE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> ExpQSource

fromToR' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> RangeQSource

funD' :: (Convertible name Name, Convertible clauseQs [ClauseQ]) => name -> clauseQs -> DecQSource

funDep' :: (Convertible names [Name], Convertible names' [Name]) => names -> names' -> FunDepSource

global' :: Convertible name Name => name -> ExpQSource

guardedB' :: Convertible guardedExpQs [Q (Guard, Exp)] => guardedExpQs -> BodyQSource

infixApp' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible expQ'' ExpQ) => expQ -> expQ' -> expQ'' -> ExpQSource

infixC' :: (Convertible strictTypeQ (Q (Strict, Type)), Convertible name Name, Convertible strictTypeQ' (Q (Strict, Type))) => strictTypeQ -> name -> strictTypeQ' -> ConQSource

infixE' :: (Convertible maybeExpQ (Maybe ExpQ), Convertible expQ ExpQ, Convertible maybeExpQ' (Maybe ExpQ)) => maybeExpQ -> expQ -> maybeExpQ' -> ExpQSource

infixP' :: (Convertible patQ PatQ, Convertible name Name, Convertible patQ' PatQ) => patQ -> name -> patQ' -> PatQSource

instanceD' :: (Convertible cxtQ CxtQ, Convertible typeQ TypeQ, Convertible decQs [DecQ]) => cxtQ -> typeQ -> decQs -> DecQSource

kindedTV' :: (Convertible name Name, Convertible kind Kind) => name -> kind -> TyVarBndrSource

lam1E' :: (Convertible patQ PatQ, Convertible expQ ExpQ) => patQ -> expQ -> ExpQSource

lamE' :: (Convertible patQs [PatQ], Convertible expQ ExpQ) => patQs -> expQ -> ExpQSource

letE' :: (Convertible decQs [DecQ], Convertible expQ ExpQ) => decQs -> expQ -> ExpQSource

letS' :: Convertible decQs [DecQ] => decQs -> StmtQSource

listE' :: Convertible expQs [ExpQ] => expQs -> ExpQSource

listP' :: Convertible patQs [PatQ] => patQs -> PatQSource

litE' :: Convertible lit Lit => lit -> ExpQSource

litP' :: Convertible lit Lit => lit -> PatQSource

match' :: (Convertible patQ PatQ, Convertible bodyQ BodyQ, Convertible decQs [DecQ]) => patQ -> bodyQ -> decQs -> MatchQSource

newtypeD' :: (Convertible cxtQ CxtQ, Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible conQ ConQ, Convertible names [Name]) => cxtQ -> name -> tyVarBndrs -> conQ -> names -> DecQSource

newtypeInstD' :: (Convertible cxtQ CxtQ, Convertible name Name, Convertible typeQs [TypeQ], Convertible conQ ConQ, Convertible names [Name]) => cxtQ -> name -> typeQs -> conQ -> names -> DecQSource

normalC' :: (Convertible name Name, Convertible strictTypeQs [StrictTypeQ]) => name -> strictTypeQs -> ConQSource

normalGE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> Q (Guard, Exp)Source

parS' :: Convertible stmtQss [[StmtQ]] => stmtQss -> StmtQSource

parensE' :: Convertible expQ ExpQ => expQ -> ExpQSource

parensP' :: Convertible patQ PatQ => patQ -> PatQSource

patG' :: Convertible stmtQs [StmtQ] => stmtQs -> GuardQSource

patGE' :: (Convertible stmtQs [StmtQ], Convertible expQ ExpQ) => stmtQs -> expQ -> Q (Guard, Exp)Source

pragInlD' :: (Convertible name Name, Convertible inlineSpecQ InlineSpecQ) => name -> inlineSpecQ -> DecQSource

pragSpecD' :: (Convertible name Name, Convertible typeQ TypeQ) => name -> typeQ -> DecQSource

pragSpecInlD' :: (Convertible name Name, Convertible typeQ TypeQ, Convertible inlineSpecQ InlineSpecQ) => name -> typeQ -> inlineSpecQ -> DecQSource

recC' :: (Convertible name Name, Convertible varStrictTypeQs [VarStrictTypeQ]) => name -> varStrictTypeQs -> ConQSource

recConE' :: (Convertible name Name, Convertible nameExpPairQs [Q (Name, Exp)]) => name -> nameExpPairQs -> ExpQSource

recP' :: (Convertible name Name, Convertible fieldPatQs [FieldPatQ]) => name -> fieldPatQs -> PatQSource

recUpdE' :: (Convertible expQ ExpQ, Convertible nameExpPairQs [Q (Name, Exp)]) => expQ -> nameExpPairQs -> ExpQSource

sectionL' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> ExpQSource

sectionR' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> ExpQSource

sigD' :: (Convertible name Name, Convertible typeQ TypeQ) => name -> typeQ -> DecQSource

sigE' :: (Convertible expQ ExpQ, Convertible typeQ TypeQ) => expQ -> typeQ -> ExpQSource

sigP' :: (Convertible patQ PatQ, Convertible typeQ TypeQ) => patQ -> typeQ -> PatQSource

sigT' :: (Convertible typeQ TypeQ, Convertible kind Kind) => typeQ -> kind -> TypeQSource

strictType' :: (Convertible strictQ (Q Strict), Convertible typeQ TypeQ) => strictQ -> typeQ -> StrictTypeQSource

tildeP' :: Convertible patQ PatQ => patQ -> PatQSource

tupE' :: Convertible expQs [ExpQ] => expQs -> ExpQSource

tupP' :: Convertible patQs [PatQ] => patQs -> PatQSource

tySynD' :: (Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible typeQ TypeQ) => name -> tyVarBndrs -> typeQ -> DecQSource

tySynInstD' :: (Convertible name Name, Convertible typeQs [TypeQ], Convertible typeQ TypeQ) => name -> typeQs -> typeQ -> DecQSource

uInfixE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible expQ'' ExpQ) => expQ -> expQ' -> expQ'' -> ExpQSource

uInfixP' :: (Convertible patQ PatQ, Convertible name Name, Convertible patQ' PatQ) => patQ -> name -> patQ' -> PatQSource

unboxedTupE' :: Convertible expQs [ExpQ] => expQs -> ExpQSource

unboxedTupP' :: Convertible patQs [PatQ] => patQs -> PatQSource

valD' :: (Convertible patQ PatQ, Convertible bodyQ BodyQ, Convertible decQs [DecQ]) => patQ -> bodyQ -> decQs -> DecQSource

varE' :: Convertible name Name => name -> ExpQSource

varP' :: Convertible name Name => name -> PatQSource

varStrictType' :: (Convertible name Name, Convertible strictTypeQ StrictTypeQ) => name -> strictTypeQ -> VarStrictTypeQSource

varT' :: Convertible name Name => name -> TypeQSource

viewP' :: (Convertible expQ ExpQ, Convertible patQ PatQ) => expQ -> patQ -> PatQSource