JfB i      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh @#Representable types of kind * -> * 0Convert from the datatype to its representation 0Convert from the representation to the datatype Representable types of kind * 0Convert from the datatype to its representation 0Convert from the representation to the datatype 7Datatype to represent the associativy of a constructor <Datatype to represent the fixity of a constructor. An infix 9 | declaration directly corresponds to an application of  . ,Datatype to represent the arity of a tuple. 5Class for datatypes that represent data constructors The name of the constructor The fixity of the constructor &Marks if this constructor is a record +Used for constructor fields without a name +Class for datatypes that represent records The name of the selector -Class for datatypes that represent datatypes *The name of the datatype, fully qualified @Type synonym for encoding meta-information for record selectors <Type synonym for encoding meta-information for constructors 9Type synonym for encoding meta-information for datatypes Tag for M1: record selector Tag for M1: constructor !Tag for M1: datatype ";Type synonym for encoding parameters (other than the last) #0Type synonym for encoding recursion (of kind *) $-Tag for K1: parameters (other than the last) %"Tag for K1: recursion (of kind *) &Composition of functors '()4Products: encode multiple arguments to constructors *+)Sums: encode choice between constructors ,-./0+Meta-information (constructor names, etc.) 1239Constants, additional parameters and recursion of kind * 456Recursive calls of kind * -> * 789.Used for marking occurrences of the parameter :;<.Unit: used for constructors without arguments =>.Void: used for datatypes without constructors ?&Get the precedence of a fixity value. @  !"#$%&'()*+,-./0123456789:;<=>?@><=9:;678345012+.,/-)*&'(#"%$!    ?@   !"#$%&'('()**+.,/-,-./0121234545678789:;:;<==>? @ijkAlmnBCDEF@ABCDEFA@FEDCB@ABCDEFGHopIGHIGHIGHHIJK?The list of values in the subrange defined by a bounding pair. L-The position of a subscript in the subrange. MReturns q/ the given subscript lies in the range defined  the bounding pair. NOrstGInterleave elements from two lists. Similar to (++), but swap left and 1 right arguments on every recursive application. From Mark Jones' talk at AFP2008 uFDiagonalization of nested lists. Ensure that some elements from every 6 sublist will be included. Handles infinite sublists. From Mark Jones' talk at AFP2008 vwxPQRSTU JKLMNOPQRSTU NOPQRJKLMSTU JKLMKLMNOOPQRSTUVWyzXVWXVWXVWWXYZ[\{|}~]YZ[\]YZ[\]YZ[\Z[\]^_`^_`^_`^__` non-portable experimentalgenerics@haskell.org%aIGiven the names of a generic class, a type to instantiate, a function in J the class and the default implementation, generates the code for a basic  generic instance. b@Given the type and the name (as string) for the type to derive,  generate the Data instance, the  instances, the   instances, and the Representable0 instance. c@Given the type and the name (as string) for the type to derive,  generate the Data instance, the  instances, and the   instances. d?Given a datatype name, derive a datatype and instance of class . e-Given a datatype name, derive datatypes and  instances of class . f?Given a datatype name, derive datatypes and instances of class . gDGiven the type and the name (as string) for the Representable0 type ! synonym to derive, generate the Representable0 instance. hDerive only the Rep0 type synonym. Not needed if g  is used. abcdefghcdefbghaabcdefgh Z  !"#$%&'()*+,-./0123456789:;<=>?GHIJKLMNOPQRSTUVWXYZ[\]^_`     !"#$%&'()*+,-./012234567889::;<<=>>?@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~generic-deriving-1.0.2Generics.Deriving.BaseGenerics.Deriving.InstancesGenerics.Deriving.EqGenerics.Deriving.EnumGenerics.Deriving.FunctorGenerics.Deriving.ShowGenerics.Deriving.UniplateGenerics.Deriving.THGenerics.DerivingGeneric1Rep1from1to1GenericRepfromto AssociativityNotAssociativeRightAssociativeLeftAssociativeFixityInfixPrefixArityNoArity ConstructorconName conFixity conIsRecord NoSelectorSelectorselNameDatatype datatypeName moduleNameS1C1D1SCDPar0Rec0PR:.:Comp1unComp1:*::+:R1unR1L1unL1M1unM1K1unK1Rec1unRec1Par1unPar1U1V1precRep1List Rep1MaybeRep0List Rep0Maybe Rep0FloatRep0IntRep0CharGEqgeq geqdefaultGIxrangeindexinRangeGEnumgenum genumDefault toEnumDefaultfromEnumDefault rangeDefault indexDefaultinRangeDefaultGFunctorgmap gmapdefaultGShow gshowsPrecgshowsgshowgshowsPrecdefaultUniplatechildrenchildrendefault simplInstance deriveAll deriveMeta deriveDataderiveConstructorsderiveSelectorsderiveRepresentable0 deriveRep0Cons__Nil__List__Just_Nothing_Maybe_GEq'geq'ghc-primGHC.BoolTrueEnum'enum'|||diagskewcombine findIndex GFunctor'gmap'GShow' gshowsPrec' isNullaryTypeInfPrefTupRecappPrec intersperse Uniplate' children' deriveInst dataInstanceconstrInstanceselectInstance typeVariablestyVarBndrToNamestripRecordNamesgenName genRepName mkDataData mkConstrData mkSelectDatamkDataInstancemkConstrInstancemkConstrInstanceWithmkSelectInstancerep0Typerep0ConrepField repField'mkFrommkTofromCon fromFieldtoContoFieldfieldlrPlrE