z_oRP      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO-non-portable (local universal quantification) experimentalgenerics@haskell.orglPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~-non-portable (local universal quantification) experimentalgenerics@haskell.orglPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~non-portable (uses Data.Data) experimentalgenerics@haskell.org -non-portable (local universal quantification) experimentalgenerics@haskell.org-non-portable (local universal quantification) experimentalgenerics@haskell.org>"The type constructor for builders !The type constructor for readers !The type constructor for queries )The type constructor for transformations )The type constructor for transformations 'Other first-class polymorphic wrappers  Wrapped generic functions;  recall: [Generic c] would be legal but [Generic' c] not. 0The general scheme underlying generic functions 5 assumed by gfoldl; there are isomorphisms such as  GenericT = Generic T. 'Generic readers, say monadic builders,  i.e., produce an "a" with the help of a monad "m". Generic builders  i.e., produce an "a". !Generic monadic transformations,  i.e., take an "a" and compute an "a" Generic queries of type "r",  i.e., take any "a" and return an "r" Generic transformations,  i.e., take an "a" and return an "a" Make a generic transformation; $ start from a type-specific case;  preserve the term otherwise Make a generic query; $ start from a type-specific case;  return a constant otherwise 'Make a generic monadic transformation; $ start from a type-specific case;  resort to return otherwise 5Make a generic monadic transformation for MonadPlus;  use " const mzero"/ (i.e., failure) instead of return as default. Make a generic builder; # start from a type-specific ase; . resort to no build (i.e., mzero) otherwise Flexible type extension 8Extend a generic transformation by a type-specific case /Extend a generic query by a type-specific case @Extend a generic monadic transformation by a type-specific case BExtend a generic MonadPlus transformation by a type-specific case Extend a generic builder Extend a generic reader Left-biased choice on maybes #Choice for monadic transformations Choice for monadic queries !?Recover from the failure of monadic transformation by identity "8Recover from the failure of monadic query by a constant #Flexible type extension $>Type extension of transformations for unary type constructors %@Type extension of monadic transformations for type constructors &0Type extension of queries for type constructors '0Type extension of readers for type constructors (1Type extension of builders for type constructors Flexible type extension )>Type extension of transformations for unary type constructors *@Type extension of monadic transformations for type constructors +0Type extension of queries for type constructors ,0Type extension of readers for type constructors -1Type extension of builders for type constructors .  !"#$%&'()*+,-. !" #$%&'()*+,-.   !"#$%&'()*+,--non-portable (local universal quantification) experimentalgenerics@haskell.org.6Apply a transformation everywhere in bottom-up manner /5Apply a transformation everywhere in top-down manner 05Variation on everywhere with an extra stop condition 1 Monadic variation on everywhere 22Apply a monadic transformation at least somewhere 35Summarise all nodes in top-down, left-to-right order 4 Variation of  everything with an added stop condition 51Get a list of all entities that meet a predicate 63Look up a subterm by means of a maybe-typed filter 7)Bottom-up synthesis of a data structure; < 1st argument z is the initial element for the synthesis; = 2nd argument o is for reduction of results from subterms; K 3rd argument f updates the synthesised data according to the given term 8,Compute size of an arbitrary data structure 99Count the number of immediate subterms of the given term :"Determine depth of the given term ;;Determine the number of all suitable nodes in a given term <2Determine the number of all nodes in a given term =>Determine the number of nodes of a given type in a given term >:Find (unambiguously) an immediate subterm of a given type ./0123456789:;<=>./0123456789:;<=>./0123456789:;<=> -non-portable (local universal quantification) experimentalgenerics@haskell.org./0123456789:;<=>(non-portable (uses Data.Generics.Basics) experimentalgenerics@haskell.org? Generic show: an alternative to " deriving Show" @Generic shows A Generic read: an alternative to " deriving Read" ?@A?@A?@A -non-portable (local universal quantification) experimentalgenerics@haskell.org?@A-non-portable (local universal quantification) experimentalgenerics@haskell.org>The type constructor needed for the definition of gmapAccumQr GThe constant type constructor needed for the definition of gmapAccumQl FThe identity type constructor needed for the definition of gmapAccumT $A type constructor for accumulation Bgfoldl with accumulation CgmapT with accumulation DApplicative version EgmapM with accumulation FgmapQl with accumulation GgmapQr with accumulation HgmapQ with accumulation ITwin map for transformation J%Twin map for monadic transformation KTwin map for queries L$Generic equality: an alternative to " deriving Eq" MAGeneric zip controlled by a function with type-specific branches BCDEFGHIJKLM BCEFGHDIJKLM BCDEFGHIJKLM -non-portable (local universal quantification) experimentalgenerics@haskell.org BCDEFGHIJKLM non-portable experimentalgenerics@haskell.orgNGConstruct the empty value for a datatype. For algebraic datatypes, the ! leftmost constructor is chosen. OIReturn a list of values of a datatype. Each value is one of the possible . constructors of the datatype, populated with N values. NONONO -non-portable (local universal quantification) experimentalgenerics@haskell.orgNO-non-portable (local universal quantification) experimentalgenerics@haskell.org.  !"#$%&'()*+,-(non-portable (uses Data.Generics.Basics) experimentalgenerics@haskell.orgPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO-non-portable (local universal quantification) experimentalgenerics@haskell.orgPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab`cd`ce`cf`cg`ch`ci`cj`ck`al`am`an`ao`ap`aq`ar`as`at`au`av`aw`ax`ay`az`a{`a|`a}`a~`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a```````c`c`c`c`c`c`c`c`c`c`c`c`c`c`c`c`c`c`c`c`c`c`c``c`c`c`c syb-0.3.5Data.Generics.AliasesData.Generics.SchemesData.Generics.TextData.Generics.TwinsData.Generics.BuildersData.Generics.BasicsGenerics.SYB.BasicsData.Generics.InstancesGenerics.SYB.InstancesGenerics.SYB.SchemesGenerics.SYB.TextGenerics.SYB.TwinsGenerics.SYB.BuildersGenerics.SYB.Aliases Data.Generics Generics.SYB GenericM'GMunGM GenericQ'GQunGQ GenericT'GTunGTGeneric' unGeneric'GenericGenericRGenericBGenericMGenericQGenericTmkTmkQmkMmkMpmkRext0extTextQextMextMpextBextRorElsechoiceMpchoiceQ recoverMprecoverQext1ext1Text1Mext1Qext1Rext1Bext2Text2Mext2Qext2Rext2B everywhere everywhere' everywhereBut everywhereM somewhere everything everythingButlistify something synthesizegsizeglengthgdepthgcount gnodecount gtypecount gfindtypegshowgshowsgread gfoldlAccum gmapAccumT gmapAccumA gmapAccumM gmapAccumQl gmapAccumQr gmapAccumQ gzipWithT gzipWithM gzipWithQgeqgzipemptyconstrsbase Data.DataDataData.Typeable.InternalTypeable Typeable1 Typeable2 Typeable3 Typeable4 Typeable5 Typeable6 Typeable7 tyconModule tyconUQname isNorepType mkNoRepType mkNorepType mkCharConstrmkStringConstr mkRealConstr mkFloatConstrmkIntegralConstr mkIntConstr mkCharType mkStringType mkFloatType mkIntTypemaxConstrIndex constrIndex indexConstr isAlgType readConstr showConstr constrFixity constrFieldsdataTypeConstrsmkConstr mkDataType repConstr constrRep constrType dataTypeRep dataTypeName fromConstrM fromConstrB fromConstrgmapMogmapMpgmapMgmapQigmapQgmapQrgmapQlgmapT dataCast2 dataCast1 dataTypeOftoConstrgunfoldgfoldlDataTypeConstrAlgRepIntRepFloatRepCharRepNoRepDataRep AlgConstr IntConstr FloatConstr CharConstr ConstrRepConIndexPrefixInfixFixity Data.Typeablegcast2gcast1gcastmkTyCon typeRepKey TypeRepKey showsTypeReptypeOf6DefaulttypeOf5DefaulttypeOf4DefaulttypeOf3DefaulttypeOf2DefaulttypeOf1Default typeOfDefault tyConString typeRepArgs typeRepTyConmkTyCon3mkAppTy funResultTy splitTyConAppmkFunTytypeOf1typeOf2typeOf3typeOf4typeOf5typeOf6typeOf7cast mkTyConAppTypeRepTyContypeOf myMkNoRepTypeBunBRunRQunQMunMTunText2QrunQrCONSTunCONSTIDunIDAunA