VWO@a      !"#$%&'()*+,-./0123456789:;<=>?@ABCD E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ]^_` non-portable experimentalgenerics@haskell.org non-portable experimentalgenerics@haskell.org HDatatype to represent the fixity of a constructor. An infix declaration + directly corresponds to an application of  . 6Class for datatypes that represent data constructors. % For non-symbolic constructors, only   has to be defined. 8 The weird argument is supposed to be instantiated with C from  base, hence the complex kind.          non-portable experimentalgenerics@haskell.orgThe type class Regular. captures the structural representation of a 8 type and the corresponding embedding-projection pairs. ITo be able to use the generic functions, the user is required to provide ! an instance of this type class. The type family PF/ represents the pattern functor of a datatype. ITo be able to use the generic functions, the user is required to provide " an instance of this type family. !The well-known fixed-point type. 7Structure type to store the name of a record selector. 3Structure type to store the name of a constructor. ,Structure type for fields of a constructor. +Structure type for alternatives in a type.  !'Structure type for empty constructors. "#%Structure type for recursive values. $%&$Structure type for constant values. '('  !"#$%&'('&'(#$%!"     !""#$%$%&'('( non-portable experimentalgenerics@haskell.org!)KGiven the type and the name (as string) for the pattern functor to derive,  generate the Constructor' instances, the Selector' instances and the   instance. *-Given a datatype name, derive datatypes and  instances of class  . +-Given a datatype name, derive datatypes and  instances of class . ,0Given the type and the name (as string) for the ) pattern functor to derive, generate the   instance. -Derive only the  instance. Not needed if ,  is used. abcdefghijklmnopqrstuvwxyz{|)*+,-)*+,-)*+,- non-portable experimentalgenerics@haskell.org./0GReturn the name of all the constructors of the type of the given term. ./0./0.//0 non-portable experimentalgenerics@haskell.org 1The Crush? class defines a right-associative crush on functorial values. 2}.Associativity of the binary operator used for 2 ~Right-associative Left-associative 34<Flatten a structure by collecting all the elements present. 561234561243561223456 non-portable experimentalgenerics@haskell.org 75The class unfold explains how to convert a coalgebra : and a seed  into a representation. 89:;2The class fold explains how to convert an algebra  >) into a function from functor to result. <=>?Fold with convenient algebras. @AHFor constructing algebras it is helpful to use this pairing combinator. 789:;<=>?@A >=;<?:978@A 7889:;<<=>?@A non-portable experimentalgenerics@haskell.orgBThe GMap) class defines a monadic functorial map. CBCBCBCC  non-portable experimentalgenerics@haskell.orgDThe LR class defines two functions, leftf and rightf, which should & produce different functorial values. EFGThe LRBase class defines two functions, leftb and rightb , which " should produce different values. HIJGProduces a value which should be different from the value returned by  right. KGProduces a value which should be different from the value returned by  left. DEFGHIJKGHIDEFJKDEFEFGHIHIJK  non-portable experimentalgenerics@haskell.orgL;A general class for expressing deep seq. It is used in the '& case for  the generic seq. 'We do not give an instance of the form  @instance (Regular a, Seq (PF a)) => DeepSeq a where dseq = gdseq J because this requires undecidable instances. However, any type for which @ there is a generic instance can be given a trivial instance of L by  using P. MN The class for generic deep seq. OPDeep, generic version of seq. .For constants we rely on the |DeepSeq| class. LMNOPLMNOPLMMNOOP  non-portable experimentalgenerics@haskell.orgQThe Zip3 class defines a monadic zip on functorial values. RSJFunctorial zip with a non-monadic function, resulting in a monadic value. T4Partial functorial zip with a non-monadic function. QRSTQRSTQRRST non-portable experimentalgenerics@haskell.org)./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST  non-portable experimentalgenerics@haskell.orgUVWUVWUVWUVVW  non-portable experimentalgenerics@haskell.org XYZ[\XYZ[\XY\Z[XYYZ[\ non-portable experimentalgenerics@haskell.org]The Show! class defines a show on values. ^_`]^_`]^`_]^^_` non-portable experimentalgenerics@haskell.orgU  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST !"#$%&'())*++,--./0112234456789:;<=>?@ABCDEFGHIJKLMNOP Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h ijklmnopqrstuvwxyz{|}~   regular-0.2.2Generics.Regular.Functions.GMapGenerics.Regular.SelectorGenerics.Regular.ConstructorGenerics.Regular.BaseGenerics.Regular.TH#Generics.Regular.Functions.ConNames Generics.Regular.Functions.CrushGenerics.Regular.Functions.FoldGenerics.Regular.Functions.LRGenerics.Regular.Functions.SeqGenerics.Regular.Functions.ZipGenerics.Regular.Functions.EqGenerics.Regular.Functions.ReadGenerics.Regular.Functions.ShowGenerics.Regular.FunctionsGenerics.RegularbaseGHC.BaseFunctorfmapSelectorselName AssociativityNotAssociativeRightAssociativeLeftAssociativeFixityInfixPrefix ConstructorconName conFixity conIsRecordRegularfromtoPFFixInoutSunSCunC:*::+:RLUIunIKunK deriveAllderiveConstructorsderiveSelectors deriveRegularderivePFConNames hconNamesconNamesCrushcrushflattenrflattenlcrushrcrushlUnfoldcoalg CoAlgebraCoAlgFoldalgAlgebraAlgfoldunfold&GMapfmapMLRleftfrightfLRBaseleftbrightbleftrightDeepSeqdseqSeqgseqgdseqZipfzipMfzipfzip'EqeqfeqReadhreaderreadPrec readsPrecreadShow hshowsPrecshowsshow deriveInstconstrInstanceselectInstance typeVariablestyVarBndrToNamestripRecordNamesgenName mkConstrData mkSelectDatamkConstrInstancemkConstrInstanceWithmkSelectInstancepfTypepfCondataDeclToTypepfFieldpfField'mkFrommkTofromCon fromField fromField'toContoFieldtoField'fieldlrPlrEAssoc AssocRight AssocLeft$fSeqK CountAtoms countatomsreadConsreadPrefixConsbraces readInfixConsreadNoArgsConsappPrec showBraces showsPrec