ฮ๕ณh$ ผ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบป(c) Matt Morrow 2008BSD3Matt Morrow  experimentalportable (template-haskell)None>ภพ9  !"#$%&'()*+,-./0123456789  !"#$%&'()*+,-./012345678(c) Matt Morrow 2008BSD3Matt Morrow  experimentalportable (template-haskell)Noneไzhaskell-src-meta€haskell-src-metavwxyz{|}~€‚ƒ„…†‡vwxyz{|}~€‚ƒ„…‡†(c) Matt Morrow 2008BSD3Matt Morrow  experimentalportable (template-haskell)None˜ห  !"#$%&'()*+,-./012345678vwxyz{|}~€‚ƒ„…†‡None 23>?ภิู M ‰haskell-src-metaThe type passed in must have a Showส instance which produces a valid Haskell expression. Returns an empty Stringห if this is not the case. This is not TH-specific, but useful in general.haskell-src-meta #unsafeRunQ = unsafePerformIO . runQ•haskell-src-meta4Infinite list of names composed of lowercase letters–haskell-src-metaGeneralisation of renameTs—haskell-src-meta"renameT applied to a list of types˜haskell-src-metaูRename type variables in the Type according to the given association list. Normalise constructor names (remove qualification, etc.) If a name is not found in the association list, replace it with one from the fresh names list, and add this translation to the returned list. The fresh names list should be infinite; myNames is a good example.™haskell-src-metaRemove qualification, etc.งhaskell-src-metaThe arity of a Type.ฉhaskell-src-metaRandomly useful.ฑhaskell-src-meta๕The strategy for producing QuasiQuoters which this datatype aims to facilitate is as follows. Given a collection of datatypes which make up the to-be-quasiquoted languages AST, make each type in this collection an instance of at least Show and Lift. Now, assuming parsePat and parseExp, both of type  String -> Q a (where aค is the top level type of the AST), are the pair of functions you wish to use for parsing in pattern and expression context respectively, put them inside a Quoter# datatype and pass this to quasify..ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดต.ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดต09 ‘9 ผ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภม-haskell-src-meta-0.8.6-4avZajksv5sJhG2oKvsPP8&Language.Haskell.Meta.Syntax.TranslateLanguage.Haskell.Meta.ParseLanguage.Haskell.Meta.UtilsLanguage.Haskell.MetaToDerivClausestoDerivClauses DerivClauseToInjectivityAnntoInjectivityAnn ToMaybeKind toMaybeKindToTyVarstoTyVarsToPredtoPredToCxttoCxtToLoctoLocToStmttoStmtToDectoDecToDecstoDecsToExptoExpToPattoPatToTypetoTypeToLittoLitToNamestoNamesToNametoName moduleNamenoTHnoTHyettodononsensetoTupEl toFieldExptoMatchtoBodytoGuardtoKindtoTyVar toStrictType.->.toDerivStrategyfoldAppTtransActqualConDeclToCon conDeclToConhsMatchesToFunDhsMatchToClause hsRhsToBodyhsGuardedRhsToBody hsStmtToGuard$fToNameDeclHead$fToNameTyVarBndr $fToNameName$fToNameTyVarBind $fToNameOp$fToNameMaybePromotedName $fToNameQName$fToNameSpecialCon $fToNameName0 $fToName[]$fToNamesInstHead$fToNamesInstRule$fToNamesDeriving$fToNamesMaybe$fToLitLiteral $fToLitDouble $fToLitFloat $fToLitInt$fToLitInteger $fToLit[] $fToLitChar $fToTypeQName$fToTypeInstHead$fToTypeInstRule $fToPat(,,,) $fToPat(,,) $fToPat(,) $fToPat[] $fToPatLit $fToExpQOp $fToPatPat $fToExp(,,,) $fToExp(,,) $fToExp(,) $fToExp[] $fToExpLit $fToDecs[]$fToDecsInstDecl$fToDecsClassDecl $fToDecsBinds $fToDecsMaybe $fToDecsDecl $fToStmtStmt $fToExpExp $fToLocSrcLoc $fToCxtMaybe$fToCxtInstRule $fToTypeType$fToCxtContext $fToPredAsst$fToTyVarsTyVarBind $fToTyVars[]$fToTyVarsMaybe$fToTyVarsDeclHead$fToMaybeKindMaybe$fToMaybeKindResultSig!$fToInjectivityAnnInjectivityInfo $fToDecDecl$fToDerivClauses[]$fToDerivClausesMaybe$fToDerivClausesDerivingparsePatparseExp parseType parseDecsparseDecsWithModemyDefaultParseModemyDefaultExtensionsparseResultToEither parseHsModule parseHsDeclsparseHsDeclsWithMode parseHsType parseHsExp parseHsPat pprHsModule moduleDecls emptyHsModule noSrcSpanInfo cleanNamesprettyppppDocgpretty unsafeRunQnameToRawCodeStr|$||.||->|unForall functionTmkVarTmyNames renameThingsrenameTsrenameT normaliseNameapplyTsubstTsplitCon strictTypeTyvarStrictTypeTyconTypes conToConTypedecCons decTyVarsdecName foreignNameunwindTunwindEarityT typeToName nameSpaceOfconNamerecCName dataDCons fromDataConI fromTyConImkFunD mkClauseQtoExpQtoPatQ showToPatQeitherQ normalizeT$fShowQ$fShowQ0$fShowQ1$fShowQ2$fShowQ3$fShowQ4