{-# LANGUAGE NoMonomorphismRestriction, FlexibleContexts #-} {-# OPTIONS -Wall #-} module Language.Haskell.TH.Build.Wrappers where import Language.Haskell.TH import Language.Haskell.TH.Lib import Language.Haskell.TH.Build.Convertible -- AUTOGENERATED by gen-wrappers.hs! -- | Argument-converting wrapper for 'appE'. appE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> ExpQ appE' = preconvert2 appE -- | Argument-converting wrapper for 'appK'. appK' :: (Convertible kind Kind, Convertible kind' Kind) => kind -> kind' -> Kind appK' = preconvert2 appK -- | Argument-converting wrapper for 'appT'. appT' :: (Convertible typeQ TypeQ, Convertible typeQ' TypeQ) => typeQ -> typeQ' -> TypeQ appT' = preconvert2 appT -- | Argument-converting wrapper for 'appsE'. appsE' :: (Convertible expQs [ExpQ]) => expQs -> ExpQ appsE' = preconvert1 appsE -- | Argument-converting wrapper for 'arithSeqE'. arithSeqE' :: (Convertible rangeQ RangeQ) => rangeQ -> ExpQ arithSeqE' = preconvert1 arithSeqE -- | Argument-converting wrapper for 'asP'. asP' :: (Convertible name Name, Convertible patQ PatQ) => name -> patQ -> PatQ asP' = preconvert2 asP -- | Argument-converting wrapper for 'bangP'. bangP' :: (Convertible patQ PatQ) => patQ -> PatQ bangP' = preconvert1 bangP -- | Argument-converting wrapper for 'bindS'. bindS' :: (Convertible patQ PatQ, Convertible expQ ExpQ) => patQ -> expQ -> StmtQ bindS' = preconvert2 bindS -- | Argument-converting wrapper for 'caseE'. caseE' :: (Convertible expQ ExpQ, Convertible matchQs [MatchQ]) => expQ -> matchQs -> ExpQ caseE' = preconvert2 caseE -- | Argument-converting wrapper for 'classD'. classD' :: (Convertible cxtQ CxtQ, Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible funDeps [FunDep], Convertible decQs [DecQ]) => cxtQ -> name -> tyVarBndrs -> funDeps -> decQs -> DecQ classD' = preconvert5 classD -- | Argument-converting wrapper for 'classP'. classP' :: (Convertible name Name, Convertible typeQs [TypeQ]) => name -> typeQs -> PredQ classP' = preconvert2 classP -- | Argument-converting wrapper for 'clause'. clause' :: (Convertible patQs [PatQ], Convertible bodyQ BodyQ, Convertible decQs [DecQ]) => patQs -> bodyQ -> decQs -> ClauseQ clause' = preconvert3 clause -- | Argument-converting wrapper for 'compE'. compE' :: (Convertible stmtQs [StmtQ]) => stmtQs -> ExpQ compE' = preconvert1 compE -- | Argument-converting wrapper for 'conE'. conE' :: (Convertible name Name) => name -> ExpQ conE' = preconvert1 conE -- | Argument-converting wrapper for 'conK'. conK' :: (Convertible name Name) => name -> Kind conK' = preconvert1 conK -- | Argument-converting wrapper for 'conP'. conP' :: (Convertible name Name, Convertible patQs [PatQ]) => name -> patQs -> PatQ conP' = preconvert2 conP -- | Argument-converting wrapper for 'conT'. conT' :: (Convertible name Name) => name -> TypeQ conT' = preconvert1 conT -- | Argument-converting wrapper for 'condE'. condE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible expQ'' ExpQ) => expQ -> expQ' -> expQ'' -> ExpQ condE' = preconvert3 condE -- | Argument-converting wrapper for 'cxt'. cxt' :: (Convertible predQs [PredQ]) => predQs -> CxtQ cxt' = preconvert1 cxt -- | Argument-converting wrapper for 'dataD'. dataD' :: (Convertible cxtQ CxtQ, Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible conQs [ConQ], Convertible names [Name]) => cxtQ -> name -> tyVarBndrs -> conQs -> names -> DecQ dataD' = preconvert5 dataD -- | Argument-converting wrapper for 'dataInstD'. dataInstD' :: (Convertible cxtQ CxtQ, Convertible name Name, Convertible typeQs [TypeQ], Convertible conQs [ConQ], Convertible names [Name]) => cxtQ -> name -> typeQs -> conQs -> names -> DecQ dataInstD' = preconvert5 dataInstD -- | Argument-converting wrapper for 'doE'. doE' :: (Convertible stmtQs [StmtQ]) => stmtQs -> ExpQ doE' = preconvert1 doE -- | Argument-converting wrapper for 'dyn'. dyn' :: (Convertible string String) => string -> Q Exp dyn' = preconvert1 dyn -- | Argument-converting wrapper for 'equalP'. equalP' :: (Convertible typeQ TypeQ, Convertible typeQ' TypeQ) => typeQ -> typeQ' -> PredQ equalP' = preconvert2 equalP -- | Argument-converting wrapper for 'familyKindD'. familyKindD' :: (Convertible famFlavour FamFlavour, Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible kind Kind) => famFlavour -> name -> tyVarBndrs -> kind -> DecQ familyKindD' = preconvert4 familyKindD -- | Argument-converting wrapper for 'familyNoKindD'. familyNoKindD' :: (Convertible famFlavour FamFlavour, Convertible name Name, Convertible tyVarBndrs [TyVarBndr]) => famFlavour -> name -> tyVarBndrs -> DecQ familyNoKindD' = preconvert3 familyNoKindD -- | Argument-converting wrapper for 'fieldExp'. fieldExp' :: (Convertible name Name, Convertible expQ ExpQ) => name -> expQ -> Q (Name, Exp) fieldExp' = preconvert2 fieldExp -- | Argument-converting wrapper for 'fieldPat'. fieldPat' :: (Convertible name Name, Convertible patQ PatQ) => name -> patQ -> FieldPatQ fieldPat' = preconvert2 fieldPat -- | Argument-converting wrapper for 'forImpD'. forImpD' :: (Convertible callconv Callconv, Convertible safety Safety, Convertible string String, Convertible name Name, Convertible typeQ TypeQ) => callconv -> safety -> string -> name -> typeQ -> DecQ forImpD' = preconvert5 forImpD -- | Argument-converting wrapper for 'forallC'. forallC' :: (Convertible tyVarBndrs [TyVarBndr], Convertible cxtQ CxtQ, Convertible conQ ConQ) => tyVarBndrs -> cxtQ -> conQ -> ConQ forallC' = preconvert3 forallC -- | Argument-converting wrapper for 'forallT'. forallT' :: (Convertible tyVarBndrs [TyVarBndr], Convertible cxtQ CxtQ, Convertible typeQ TypeQ) => tyVarBndrs -> cxtQ -> typeQ -> TypeQ forallT' = preconvert3 forallT -- | Argument-converting wrapper for 'fromE'. fromE' :: (Convertible expQ ExpQ) => expQ -> ExpQ fromE' = preconvert1 fromE -- | Argument-converting wrapper for 'fromR'. fromR' :: (Convertible expQ ExpQ) => expQ -> RangeQ fromR' = preconvert1 fromR -- | Argument-converting wrapper for 'fromThenE'. fromThenE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> ExpQ fromThenE' = preconvert2 fromThenE -- | Argument-converting wrapper for 'fromThenR'. fromThenR' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> RangeQ fromThenR' = preconvert2 fromThenR -- | Argument-converting wrapper for 'fromThenToE'. fromThenToE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible expQ'' ExpQ) => expQ -> expQ' -> expQ'' -> ExpQ fromThenToE' = preconvert3 fromThenToE -- | Argument-converting wrapper for 'fromThenToR'. fromThenToR' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible expQ'' ExpQ) => expQ -> expQ' -> expQ'' -> RangeQ fromThenToR' = preconvert3 fromThenToR -- | Argument-converting wrapper for 'fromToE'. fromToE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> ExpQ fromToE' = preconvert2 fromToE -- | Argument-converting wrapper for 'fromToR'. fromToR' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> RangeQ fromToR' = preconvert2 fromToR -- | Argument-converting wrapper for 'funD'. funD' :: (Convertible name Name, Convertible clauseQs [ClauseQ]) => name -> clauseQs -> DecQ funD' = preconvert2 funD -- | Argument-converting wrapper for 'funDep'. funDep' :: (Convertible names [Name], Convertible names' [Name]) => names -> names' -> FunDep funDep' = preconvert2 funDep -- | Argument-converting wrapper for 'global'. global' :: (Convertible name Name) => name -> ExpQ global' = preconvert1 global -- | Argument-converting wrapper for 'guardedB'. guardedB' :: (Convertible guardedExpQs [Q (Guard, Exp)]) => guardedExpQs -> BodyQ guardedB' = preconvert1 guardedB -- | Argument-converting wrapper for 'infixApp'. infixApp' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible expQ'' ExpQ) => expQ -> expQ' -> expQ'' -> ExpQ infixApp' = preconvert3 infixApp -- | Argument-converting wrapper for 'infixC'. infixC' :: (Convertible strictTypeQ (Q (Strict, Type)), Convertible name Name, Convertible strictTypeQ' (Q (Strict, Type))) => strictTypeQ -> name -> strictTypeQ' -> ConQ infixC' = preconvert3 infixC -- | Argument-converting wrapper for 'infixE'. infixE' :: (Convertible maybeExpQ (Maybe ExpQ), Convertible expQ ExpQ, Convertible maybeExpQ' (Maybe ExpQ)) => maybeExpQ -> expQ -> maybeExpQ' -> ExpQ infixE' = preconvert3 infixE -- | Argument-converting wrapper for 'infixLD'. infixLD' :: (Convertible int Int, Convertible name Name) => int -> name -> DecQ infixLD' = preconvert2 infixLD -- | Argument-converting wrapper for 'infixND'. infixND' :: (Convertible int Int, Convertible name Name) => int -> name -> DecQ infixND' = preconvert2 infixND -- | Argument-converting wrapper for 'infixP'. infixP' :: (Convertible patQ PatQ, Convertible name Name, Convertible patQ' PatQ) => patQ -> name -> patQ' -> PatQ infixP' = preconvert3 infixP -- | Argument-converting wrapper for 'infixRD'. infixRD' :: (Convertible int Int, Convertible name Name) => int -> name -> DecQ infixRD' = preconvert2 infixRD -- | Argument-converting wrapper for 'instanceD'. instanceD' :: (Convertible cxtQ CxtQ, Convertible typeQ TypeQ, Convertible decQs [DecQ]) => cxtQ -> typeQ -> decQs -> DecQ instanceD' = preconvert3 instanceD -- | Argument-converting wrapper for 'kindedTV'. kindedTV' :: (Convertible name Name, Convertible kind Kind) => name -> kind -> TyVarBndr kindedTV' = preconvert2 kindedTV -- | Argument-converting wrapper for 'lam1E'. lam1E' :: (Convertible patQ PatQ, Convertible expQ ExpQ) => patQ -> expQ -> ExpQ lam1E' = preconvert2 lam1E -- | Argument-converting wrapper for 'lamCaseE'. lamCaseE' :: (Convertible matchQs [MatchQ]) => matchQs -> ExpQ lamCaseE' = preconvert1 lamCaseE -- | Argument-converting wrapper for 'lamE'. lamE' :: (Convertible patQs [PatQ], Convertible expQ ExpQ) => patQs -> expQ -> ExpQ lamE' = preconvert2 lamE -- | Argument-converting wrapper for 'letE'. letE' :: (Convertible decQs [DecQ], Convertible expQ ExpQ) => decQs -> expQ -> ExpQ letE' = preconvert2 letE -- | Argument-converting wrapper for 'letS'. letS' :: (Convertible decQs [DecQ]) => decQs -> StmtQ letS' = preconvert1 letS -- | Argument-converting wrapper for 'listE'. listE' :: (Convertible expQs [ExpQ]) => expQs -> ExpQ listE' = preconvert1 listE -- | Argument-converting wrapper for 'listP'. listP' :: (Convertible patQs [PatQ]) => patQs -> PatQ listP' = preconvert1 listP -- | Argument-converting wrapper for 'litE'. litE' :: (Convertible lit Lit) => lit -> ExpQ litE' = preconvert1 litE -- | Argument-converting wrapper for 'litP'. litP' :: (Convertible lit Lit) => lit -> PatQ litP' = preconvert1 litP -- | Argument-converting wrapper for 'litT'. litT' :: (Convertible tyLitQ TyLitQ) => tyLitQ -> TypeQ litT' = preconvert1 litT -- | Argument-converting wrapper for 'match'. match' :: (Convertible patQ PatQ, Convertible bodyQ BodyQ, Convertible decQs [DecQ]) => patQ -> bodyQ -> decQs -> MatchQ match' = preconvert3 match -- | Argument-converting wrapper for 'multiIfE'. multiIfE' :: (Convertible guardedExpQs [Q (Guard, Exp)]) => guardedExpQs -> ExpQ multiIfE' = preconvert1 multiIfE -- | Argument-converting wrapper for 'newtypeD'. newtypeD' :: (Convertible cxtQ CxtQ, Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible conQ ConQ, Convertible names [Name]) => cxtQ -> name -> tyVarBndrs -> conQ -> names -> DecQ newtypeD' = preconvert5 newtypeD -- | Argument-converting wrapper for 'newtypeInstD'. newtypeInstD' :: (Convertible cxtQ CxtQ, Convertible name Name, Convertible typeQs [TypeQ], Convertible conQ ConQ, Convertible names [Name]) => cxtQ -> name -> typeQs -> conQ -> names -> DecQ newtypeInstD' = preconvert5 newtypeInstD -- | Argument-converting wrapper for 'noBindS'. noBindS' :: (Convertible expQ ExpQ) => expQ -> StmtQ noBindS' = preconvert1 noBindS -- | Argument-converting wrapper for 'normalB'. normalB' :: (Convertible expQ ExpQ) => expQ -> BodyQ normalB' = preconvert1 normalB -- | Argument-converting wrapper for 'normalC'. normalC' :: (Convertible name Name, Convertible strictTypeQs [StrictTypeQ]) => name -> strictTypeQs -> ConQ normalC' = preconvert2 normalC -- | Argument-converting wrapper for 'normalG'. normalG' :: (Convertible expQ ExpQ) => expQ -> GuardQ normalG' = preconvert1 normalG -- | Argument-converting wrapper for 'normalGE'. normalGE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> Q (Guard, Exp) normalGE' = preconvert2 normalGE -- | Argument-converting wrapper for 'numTyLit'. numTyLit' :: (Convertible integer Integer) => integer -> TyLitQ numTyLit' = preconvert1 numTyLit -- | Argument-converting wrapper for 'parS'. parS' :: (Convertible stmtQss [[StmtQ]]) => stmtQss -> StmtQ parS' = preconvert1 parS -- | Argument-converting wrapper for 'parensE'. parensE' :: (Convertible expQ ExpQ) => expQ -> ExpQ parensE' = preconvert1 parensE -- | Argument-converting wrapper for 'parensP'. parensP' :: (Convertible patQ PatQ) => patQ -> PatQ parensP' = preconvert1 parensP -- | Argument-converting wrapper for 'patG'. patG' :: (Convertible stmtQs [StmtQ]) => stmtQs -> GuardQ patG' = preconvert1 patG -- | Argument-converting wrapper for 'patGE'. patGE' :: (Convertible stmtQs [StmtQ], Convertible expQ ExpQ) => stmtQs -> expQ -> Q (Guard, Exp) patGE' = preconvert2 patGE -- | Argument-converting wrapper for 'plainTV'. plainTV' :: (Convertible name Name) => name -> TyVarBndr plainTV' = preconvert1 plainTV -- | Argument-converting wrapper for 'pragInlD'. pragInlD' :: (Convertible name Name, Convertible inline Inline, Convertible ruleMatch RuleMatch, Convertible phases Phases) => name -> inline -> ruleMatch -> phases -> DecQ pragInlD' = preconvert4 pragInlD -- | Argument-converting wrapper for 'pragRuleD'. pragRuleD' :: (Convertible string String, Convertible ruleBndrQs [RuleBndrQ], Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible phases Phases) => string -> ruleBndrQs -> expQ -> expQ' -> phases -> DecQ pragRuleD' = preconvert5 pragRuleD -- | Argument-converting wrapper for 'pragSpecD'. pragSpecD' :: (Convertible name Name, Convertible typeQ TypeQ, Convertible phases Phases) => name -> typeQ -> phases -> DecQ pragSpecD' = preconvert3 pragSpecD -- | Argument-converting wrapper for 'pragSpecInlD'. pragSpecInlD' :: (Convertible name Name, Convertible typeQ TypeQ, Convertible inline Inline, Convertible phases Phases) => name -> typeQ -> inline -> phases -> DecQ pragSpecInlD' = preconvert4 pragSpecInlD -- | Argument-converting wrapper for 'pragSpecInstD'. pragSpecInstD' :: (Convertible typeQ TypeQ) => typeQ -> DecQ pragSpecInstD' = preconvert1 pragSpecInstD -- | Argument-converting wrapper for 'promotedT'. promotedT' :: (Convertible name Name) => name -> TypeQ promotedT' = preconvert1 promotedT -- | Argument-converting wrapper for 'promotedTupleT'. promotedTupleT' :: (Convertible int Int) => int -> TypeQ promotedTupleT' = preconvert1 promotedTupleT -- | Argument-converting wrapper for 'recC'. recC' :: (Convertible name Name, Convertible varStrictTypeQs [VarStrictTypeQ]) => name -> varStrictTypeQs -> ConQ recC' = preconvert2 recC -- | Argument-converting wrapper for 'recConE'. recConE' :: (Convertible name Name, Convertible nameExpPairQs [Q (Name, Exp)]) => name -> nameExpPairQs -> ExpQ recConE' = preconvert2 recConE -- | Argument-converting wrapper for 'recP'. recP' :: (Convertible name Name, Convertible fieldPatQs [FieldPatQ]) => name -> fieldPatQs -> PatQ recP' = preconvert2 recP -- | Argument-converting wrapper for 'recUpdE'. recUpdE' :: (Convertible expQ ExpQ, Convertible nameExpPairQs [Q (Name, Exp)]) => expQ -> nameExpPairQs -> ExpQ recUpdE' = preconvert2 recUpdE -- | Argument-converting wrapper for 'ruleVar'. ruleVar' :: (Convertible name Name) => name -> RuleBndrQ ruleVar' = preconvert1 ruleVar -- | Argument-converting wrapper for 'sectionL'. sectionL' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> ExpQ sectionL' = preconvert2 sectionL -- | Argument-converting wrapper for 'sectionR'. sectionR' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ) => expQ -> expQ' -> ExpQ sectionR' = preconvert2 sectionR -- | Argument-converting wrapper for 'sigD'. sigD' :: (Convertible name Name, Convertible typeQ TypeQ) => name -> typeQ -> DecQ sigD' = preconvert2 sigD -- | Argument-converting wrapper for 'sigE'. sigE' :: (Convertible expQ ExpQ, Convertible typeQ TypeQ) => expQ -> typeQ -> ExpQ sigE' = preconvert2 sigE -- | Argument-converting wrapper for 'sigP'. sigP' :: (Convertible patQ PatQ, Convertible typeQ TypeQ) => patQ -> typeQ -> PatQ sigP' = preconvert2 sigP -- | Argument-converting wrapper for 'sigT'. sigT' :: (Convertible typeQ TypeQ, Convertible kind Kind) => typeQ -> kind -> TypeQ sigT' = preconvert2 sigT -- | Argument-converting wrapper for 'strTyLit'. strTyLit' :: (Convertible string String) => string -> TyLitQ strTyLit' = preconvert1 strTyLit -- | Argument-converting wrapper for 'strictType'. strictType' :: (Convertible strictQ (Q Strict), Convertible typeQ TypeQ) => strictQ -> typeQ -> StrictTypeQ strictType' = preconvert2 strictType -- | Argument-converting wrapper for 'tildeP'. tildeP' :: (Convertible patQ PatQ) => patQ -> PatQ tildeP' = preconvert1 tildeP -- | Argument-converting wrapper for 'tupE'. tupE' :: (Convertible expQs [ExpQ]) => expQs -> ExpQ tupE' = preconvert1 tupE -- | Argument-converting wrapper for 'tupP'. tupP' :: (Convertible patQs [PatQ]) => patQs -> PatQ tupP' = preconvert1 tupP -- | Argument-converting wrapper for 'tupleK'. tupleK' :: (Convertible int Int) => int -> Kind tupleK' = preconvert1 tupleK -- | Argument-converting wrapper for 'tySynD'. tySynD' :: (Convertible name Name, Convertible tyVarBndrs [TyVarBndr], Convertible typeQ TypeQ) => name -> tyVarBndrs -> typeQ -> DecQ tySynD' = preconvert3 tySynD -- | Argument-converting wrapper for 'tySynInstD'. tySynInstD' :: (Convertible name Name, Convertible typeQs [TypeQ], Convertible typeQ TypeQ) => name -> typeQs -> typeQ -> DecQ tySynInstD' = preconvert3 tySynInstD -- | Argument-converting wrapper for 'typedRuleVar'. typedRuleVar' :: (Convertible name Name, Convertible typeQ TypeQ) => name -> typeQ -> RuleBndrQ typedRuleVar' = preconvert2 typedRuleVar -- | Argument-converting wrapper for 'uInfixE'. uInfixE' :: (Convertible expQ ExpQ, Convertible expQ' ExpQ, Convertible expQ'' ExpQ) => expQ -> expQ' -> expQ'' -> ExpQ uInfixE' = preconvert3 uInfixE -- | Argument-converting wrapper for 'uInfixP'. uInfixP' :: (Convertible patQ PatQ, Convertible name Name, Convertible patQ' PatQ) => patQ -> name -> patQ' -> PatQ uInfixP' = preconvert3 uInfixP -- | Argument-converting wrapper for 'unboxedTupE'. unboxedTupE' :: (Convertible expQs [ExpQ]) => expQs -> ExpQ unboxedTupE' = preconvert1 unboxedTupE -- | Argument-converting wrapper for 'unboxedTupP'. unboxedTupP' :: (Convertible patQs [PatQ]) => patQs -> PatQ unboxedTupP' = preconvert1 unboxedTupP -- | Argument-converting wrapper for 'valD'. valD' :: (Convertible patQ PatQ, Convertible bodyQ BodyQ, Convertible decQs [DecQ]) => patQ -> bodyQ -> decQs -> DecQ valD' = preconvert3 valD -- | Argument-converting wrapper for 'varE'. varE' :: (Convertible name Name) => name -> ExpQ varE' = preconvert1 varE -- | Argument-converting wrapper for 'varK'. varK' :: (Convertible name Name) => name -> Kind varK' = preconvert1 varK -- | Argument-converting wrapper for 'varP'. varP' :: (Convertible name Name) => name -> PatQ varP' = preconvert1 varP -- | Argument-converting wrapper for 'varStrictType'. varStrictType' :: (Convertible name Name, Convertible strictTypeQ StrictTypeQ) => name -> strictTypeQ -> VarStrictTypeQ varStrictType' = preconvert2 varStrictType -- | Argument-converting wrapper for 'varT'. varT' :: (Convertible name Name) => name -> TypeQ varT' = preconvert1 varT -- | Argument-converting wrapper for 'viewP'. viewP' :: (Convertible expQ ExpQ, Convertible patQ PatQ) => expQ -> patQ -> PatQ viewP' = preconvert2 viewP