śĪ dĖQÆ­      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu v w x y z{|}~€‚ƒ„…†‡ˆ‰Š‹Œ !Ž"""‘"’"“"”"•"–"—"˜"™"š"›"œ""ž"Ÿ# #”$¢$£%¤%„&¦&§'Ø'©'Ŗ'«'¬')( ­     !"#$%&'()*+,-./ !"#$%&'()*+,-./ !"#$%&'()*+,-./0+Expand type synonyms in a data declaration 0001AThis class is used to overload literal construction based on the  type of the literal. 3?The class used to overload lifting operations. To reduce code C duplication, we overload the wrapped constructors (and everything  else, but that'4s irrelevant) to work in patterns, expressions, and  types. 48Build an application node, with a name for a head and a  provided list of arguments. 5Reference a named variable. 6 Lift a TH ®)* 7Tupling 8Listing <*A simple clause, without where or guards. =#A default clause with N arguments. >A simple Val clause A,We provide 3 standard instance constructors ; instance_default requires C for each free type variable % instance_none requires no context - instance_context requires a given context DBBuild an instance of a class for a data type, using the heuristic 9 that the type is itself required on all type arguments. EQBuild an instance of a class for a data type, using the class at the given types F#Build a fundecl with a string name G/Build an application node without a given head I/Common pattern: list of a familiy of variables J$Variable based on a letter + number KAMake a list of variables, one for each argument to a constructor L,Make a simple pattern to bind a constructor M!Reference the constructor itself e;Build a chain of expressions, with an appropriate terminal Z sequence__ does not require a unit at the end (all others are optimised automatically) i K-way liftM ;123456789:;<=>?@ABCDEFGHIJKLMNOPQRSÆTU°VWXYZ[\]^_`abcdefghi9:;9<=>?@ABCDEF345678G12HIJKLMNOPRSQUTVWYXZ\]^_`ba[cefhgdi9122345678456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkljlkjklm$The type of ways to derive classes. ( Should not really be in this module! oThe derivation function proper pThe name of the derivation ’.±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž’     ® !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg ­  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSÆTU°VWXYZ[\]^_`abcdefghijklmnopqrmnopqrmnopnopqrsssttt uuu vvv www xxx yyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ ŒŒŒ!"h"Information on argument positions i'Monad that collects required instances j(What argument of the current data type? k%What argument position of that type? Ž(What kind of traversal are we deriving? $On what position are we traversing? ‘ covariant? ’name of the traversal function “Identity traversal ” Traversal of a •!Apply the sub-traversal function –.Apply two non-identity traversals in sequence —Traverse a function type ˜*Construct a tuple from applied traversals ™.Construct a data type from applied traversals š-Construct a clause of the traversal function l@An expression representing a traversal of a subpart of the data ›;Derivation for a Traversable like class with just 1 method œ9Instance for a Traversable like class with just 1 method &Instance for a Traversable like class ž Derive a traverse like function mDerive a clause of a traverse! like function for a constructor nDerive a traversal for a type oBFind all arguments to a type application, then derive a traversal p7Lift a traversal to the argument of a type constructor q)Position of an argument in the data type  In the type  data X a b c ) positions are: a -> 3, b -> 2, c -> 1 Ž‘’“”•–—˜™šr›œžŽ‘’“”•–—˜™š›œžŽ ‘’“”•–—˜™š‘’“”•–—˜™š›œž#Ÿ Ÿ Ÿ $”¢”¢”¢%£¤£¤£¤+!stuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŸ ”¢£¤&„"Derive an instance of some class. derive only derives instances  for the type of the argument. ¦BDerive for a type and print the code to standard output. This is 7 a internal hook for the use of the Derive executable. s Extract a  value from a type using the TH ×)*  framework. $mstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŸ ”¢£¤„¦„m¦„¦'t@Drop the first _ and everything after it; used to trim GHC name  uniques. ¬.Guess an instantiator from a sample instance. u/A fake constructor for the unary tuple. Helps ¬' to see 7 patterns in progressions of differently sized tuples. >Chop and mangle a String representing Haskell code so that it 4 fits in 80 columns, without regard for prettiness. v8Process a tree produced by a quasiquote, stripping name D uniquifiers and changing applications and tuplings into a standard  form. §Ø©Ŗ«¬w§«Ŗ©Ø¬§«Ŗ©ØØ©Ŗ«¬x,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™™š›œžŸ   ” ¢ £ ¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶ ·!ø"¹"¹"ŗ"»"¼"½"¾"æ"Ą"Į"Ā"Ć"Ä"Å"Ę"Ē"Č#É#Ź$Ė$Ģ%Ķ%Ī&Ļ&Š'Ń'Ņ'Ó'Ō'Õ'Ö×)*ŲŁŚ)*Ū)*Ü)*Ż)*Ž)*ß)*ą)*į)*ā)*ć)*ä)*å)*ę)*ē)*č)*é)*ź)*ė)*ģ)*ķ)*ī)*ļ)*š)*ń)*ņ)*ó)*ō)*õ)*ö)*÷)*ų)*ł)*ś)*ū)*ü)*ż)*ž)*’)*)*)*)*)*)*)*)*)*)* )* )* )* )* )*)*)*ī)*)*)*)*)*)*)*)*Ń)*)*)*)*)*)*)*)*)*)* )*!)*")*#)*#)*$)*%)*&)*')*()*))**)*+)*,)*-)*-)*.)*/)*0)*1)*2)*3)*4)*5)*6)*7)*8)*9)*:)*;)*<)*=)*>)*?)*@)*A)*B)*C)*D)*ę)*ē)*E)*F)*G)*H)*I)*J)*K)*L)*M)*N)*O)*P)*Q)*R)*S)*T)*U)*V)*W)*X)*Y)*Z)*[)*\)*])*^)*_)*`)*a)*b)*c)*d)*e)*f)*g)*h)*i)*j)*k)*l)*m)*n)*ļ)*o)*p)*q)*r)*s)*t)*u)*v)*w)*x)*y)*z)*{)*|)*})*~)*)*€)*)*‚)*ƒ)*„)*…)*†)*‡)*ˆ)*‰)*Š"‹"Œ""Ž"""‘"’"“"”"•&–'—'˜'™'š› derive-0.1.2Language.Haskell.TH.FixedPprLanguage.Haskell.TH.Data!Language.Haskell.TH.ExpandSynonymLanguage.Haskell.TH.HelperLanguage.Haskell.TH.PeepholeLanguage.Haskell.TH.AllData.Derive.UniplateData.Derive.TypeableData.Derive.TTypeableData.Derive.ShowData.Derive.SetData.Derive.SerialData.Derive.RefData.Derive.ReadData.Derive.PlateTypeableData.Derive.PlateDirectData.Derive.OrdData.Derive.NFDataData.Derive.MonoidData.Derive.LazySetData.Derive.IsData.Derive.HasData.Derive.FromData.Derive.EqData.Derive.EnumCyclicData.Derive.EnumData.Derive.DataData.Derive.BoundedData.Derive.BinaryOldData.Derive.BinaryDeferData.Derive.BinaryData.Derive.Arbitrary2Data.Derive.ArbitraryData.DeriveTraversalData.Derive.FoldableData.Derive.FunctorData.Derive.Traversable Data.DeriveTHData.DeriveGuessLanguage.Haskell.TH.SYBtemplate-haskellLanguage.Haskell.TH.SyntaxData.Derive.AllPprpprppr_list Precedence nestDepthappPrecopPrecnoPrecparensIf showNameRaw isPrefixNamepprName_pprint pprFixity pprExpInfixpprExp pprFields pprMaybeExppprBodypprLitpprPatpprVarStrictType pprStrictType pprParendTypepprTyAppsplitpprCxt where_clause showtextlCtorDefDataDefdataNamequalifiedDataName dataArity dataCtorsctorNamequalifiedCtorName ctorArityctorStrictTypes ctorTypes ctorFields dropModulenormDataunqualifiedNametypeAppeqConTisTupleTex_args expandDataLitClitValconlKvrraw_littuplst applyWith foldl1With foldr1Withsclause defclausesvalcase'->: instance_noneinstance_defaultinstance_contextsimple_instancegeneric_instancefunNappdataVarsvarsvrnctvctpctcl0l1l2truefalsenilhNil'hZero'consboxreturn'const'hSucc'==:&&:++:>>=:>>:.:>:ap'hCons'&&::++::>>::.:: sequence__liftmkpeephole replaceVars replaceVar DerivationderivationDeriverderivationName derivation derivationQ makeUniplate makeTypeable makeTTypeablemakeShowmakeSet makeSerialmakeRefmakeReadmakePlateTypeablemakePlateDirectmakeOrd makeNFData makeMonoid makeLazySetmakeIsmakeHasmakeFrommakeEqmakeEnumCyclicmakeEnummakeData makeBounded makeBinaryOldmakeBinaryDefer makeBinarymakeArbitrary2 makeArbitrary TraveralType traversalArg traversalCo traversalName traversalIdtraversalDirect traversalFunc traversalPlus traverseArrow traverseTuple traverseCtor traverseFunctraversalDerivation1traversalInstance1traversalInstancederiveTraversal makeFoldable makeFoldableN makeFunctor makeFunctorNmakeTraversablemakeTraversableNderive_derive_string_instanceDataNameCtorTwo'CtorTwoCtorOneCtorZeroguessppr_sigLitunitid'returnQbindQ sequenceQliftnewNamemkName mkNameG_v mkNameG_d mkNameG_tcmkNameLExpMatchClauseQPatTypeDecFieldExpFieldPatNameFunDep defaultFixity maxPrecedence tupleTypeName tupleDataName showName'showNamemkNameU nameModulenameBase occString mkOccName pkgString mkPkgName modString mkModNamerunIOlocationreifyrecoverreportrunQqRunIO qLocationqReifyqRecoverqReportqNewNameQuasiLiftModNamePkgNameOccNameNameSNameQNameUNameLNameG NameFlavourVarName TcClsName NameSpaceUniqAloneAppliedInfixNameIsloc_end loc_start loc_module loc_package loc_filenameLocCharPosClassIClassOpITyConI PrimTyConIDataConIVarITyVarIInfoFixityInfixLInfixRInfixNFixityDirectionCharLStringLIntegerL RationalLIntPrimL WordPrimL FloatPrimL DoublePrimLLitPVarPTupPConPInfixPTildePAsPWildPRecPListPSigPVarEConELitEAppEInfixELamETupECondELetECaseEDoECompE ArithSeqEListESigERecConERecUpdEGuardedBNormalBBodyNormalGPatGGuardBindSLetSNoBindSParSStmtFromR FromThenRFromToR FromThenToRRangeFunDValDDataDNewtypeDTySynDClassD InstanceDSigDForeignDImportFExportFForeignCCallStdCallCallconvUnsafeSafe ThreadsafeSafetyCxtIsStrict NotStrictStrictNormalCRecCInfixCForallCCon StrictType VarStrictTypeForallTVarTConTTupleTArrowTListTAppT ArgPositions WithInstancesrequiredDataArgrequiredPositionTravderiveTraversalCtorderiveTraversalTypederiveTraversalApp traverseArg argPositionsdefaultTraversalType deriveOneEnvwidthifyunQtup1