úÎVÂOĞd      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ `abc 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. defghijklmnopqrstuvwxyz{|}~)*+,-)*+,-)*+,- 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. 23.Associativity of the binary operator used for 2 4Right-associative 5Left-associative 67<Flatten a structure by collecting all the elements present. 89 123456789 123547689 122354456789 non-portable experimentalgenerics@haskell.org :5The class unfold explains how to convert a coalgebra = and a seed  into a representation. ;<=>2The class fold explains how to convert an algebra  A) into a function from functor to result. ?@ABFold with convenient algebras. CDHFor constructing algebras it is helpful to use this pairing combinator. :;<=>?@ABCD A@>?B=<:;CD :;;<=>??@ABCD non-portable experimentalgenerics@haskell.orgEThe GMap) class defines a monadic functorial map. FEFEFEFF  non-portable experimentalgenerics@haskell.orgGThe LR class defines two functions, leftf and rightf, which should & produce different functorial values. HIJThe LRBase class defines two functions, leftb and rightb , which " should produce different values. KLMGProduces a value which should be different from the value returned by  right. NGProduces a value which should be different from the value returned by  left. GHIJKLMNJKLGHIMNGHIHIJKLKLMN  non-portable experimentalgenerics@haskell.orgO;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 O by  using S. PQ The class for generic deep seq. RSDeep, generic version of seq. €.For constants we rely on the |DeepSeq| class. OPQRSOPQRSOPPQRRS  non-portable experimentalgenerics@haskell.orgTThe Zip3 class defines a monadic zip on functorial values. UVJFunctorial zip with a non-monadic function, resulting in a monadic value. W4Partial functorial zip with a non-monadic function. TUVWTUVWTUUVW non-portable experimentalgenerics@haskell.org,./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW  non-portable experimentalgenerics@haskell.orgXYZXYZXYZXYYZ  non-portable experimentalgenerics@haskell.org [\‚ƒ„…†‡ˆ]^_[\]^_[\_]^[\\]^_ non-portable experimentalgenerics@haskell.org`The Show! class defines a show on values. a‰Šbc`abc`acb`aabc non-portable experimentalgenerics@haskell.orgX  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW‹ !"#$%&'())*++,--./0112234456789:;<=>?@ABCDEFGHIJKLMNOPQRS T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k lmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ  Ž   ‘ ’ “ ” •–—˜ regular-0.2.4Generics.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 hconNamesconNamesCrushcrushAssoc AssocRight AssocLeftflattenrflattenlcrushrcrushlUnfoldcoalg CoAlgebraCoAlgFoldalgAlgebraAlgfoldunfold&GMapfmapMLRleftfrightfLRBaseleftbrightbleftrightDeepSeqdseqSeqgseqgdseqZipfzipMfzipfzip'EqeqfeqReadhreaderreadPrec readsPrecreadShow hshowsPrecshowsshow deriveInstconstrInstanceselectInstance typeVariablestyVarBndrToNamestripRecordNamesgenName mkConstrData mkSelectDatamkConstrInstancemkConstrInstanceWithmkSelectInstancepfTypepfCondataDeclToTypepfFieldpfField'mkFrommkTofromCon fromField fromField'toContoFieldtoField'fieldlrPlrE$fSeqK CountAtoms countatomsreadConsreadPrefixConsbraces readInfixConsreadNoArgsConsappPrec showBraces showsPrec