UjHd      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcNone de  deNone" Fixity of constructors (Unique index for datatype constructors. , | Textual order is respected. Starts at 1. &Public representation of constructors #Public representation of datatypes Representation of constructors Representation of datatypes. K | A package of constructor representations with names of type and module. K | The list of constructors could be an array, a balanced tree, or others. 1*Mediate types and unary type constructors 2+Mediate types and binary type constructors 8Build a term skeleton 95Build a term and use a generic function for subterms :Monadic variation on " fromConstrB" ;/Gets the type constructor including the module <*Gets the public presentation of datatypes =#Gets the datatype of a constructor >-Gets the public presentation of constructors ?,Look up a constructor by its representation @!Constructs an algebraic datatype AConstructs a constructor BGets the constructors C'Gets the field labels of a constructor D!Gets the fixity of a constructor E"Gets the string for a constructor F"Lookup a constructor via a string GTest for an algebraic type H"Gets the constructor for an index I Gets the index of a constructor J#Gets the maximum constructor index KConstructs the Int type LConstructs the Float type MConstructs the String type N0Helper for mkIntType, mkFloatType, mkStringType S Constructs a non-representation T"Test for a non-representable type fEquality of constructors N  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTfghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTL3,-./012+4()*'5&67#$%89: !"  ;<=>?@ABCDEFGHIJKLMNOPQRST0   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTfgNoneVHTakes the name of an algebraic data type, the number of type parameters 2 it has and creates a Typeable instance for it. WCTakes a name of a algebraic data type, the number of parameters it G has and a list of constructor pairs. Each one of these constructor ? pairs consists of a constructor name and the number of type G parameters it has. The function returns an automatically generated , instance declaration for the Data class. Doesn'%t do gunfold, dataCast1 or dataCast2 ZFDerives the Data and Typeable instances for a single given data type. ]7Derives Data and Typeable instances for a list of data @ types. Order is irrelevant. This should be used in favour of C deriveOne since Data and Typeable instances can often depend on B other Data and Typeable instances - e.g. if you are deriving a C large, mutually recursive data type. If you splice the derived E instances in one by one you will need to do it in depedency order C which is difficult in most cases and impossible in the mutually @ recursive case. It is better to bring all the instances into  scope at once. e.g. if  data Foo = Foo Int ) is declared in an imported module then  $(derive [''Foo]) # will derive the instances for it b@This function is much like deriveOne except that it brings into C scope an instance of Data with minimal definitions. gfoldl will @ essentially leave a data structure untouched while gunfoldl, . toConstr and dataTypeOf will yield errors. AThis function is useful when you are certain that you will never C wish to transform a particular data type. For instance you may E be transforming another data type that contains other data types, A some of which you wish to transform (perhaps recursively) and 1 some which you just wish to return unchanged. ASometimes you will be forced to use deriveMinimalOne because you C do not have access to the contructors of the data type (perhaps = because it is an Abstract Data Type). However, should the ? interface to the ADT be sufficiently rich it is possible to  define you'$re own Data and Typeable instances. UVWXYZ[\]^_`abcUVWXYZ[\]^_`abcVUWXYZ[\]^_`abcUVWXYZ[\]^_`abcNoneff      !""#$%%&'())*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijhikhilhimhinhiohiphiqhrshrthruhrvhrwhrxhiyhizhi{hi|hi}hi~hihihihihihihihihihihihihihihihihihihihihrhihihihisyb-with-class-0.6.1.4#Data.Generics.SYB.WithClass.Context"Data.Generics.SYB.WithClass.Basics"Data.Generics.SYB.WithClass.Derive%Data.Generics.SYB.WithClass.InstancesPairCtxleftCtxrightCtxNoCtxSatdictnoCtxpairCtxFixityInfixPrefixConIndex ConstrRep StringConstr FloatConstr IntConstr AlgConstrDataRepNoRep StringRepFloatRepIntRepAlgRepConstrconrep constring confields confixitydatatypeDataTypetycondatarepQrunQrGenericQGenericMIDunIDGenericTDatagfoldlgunfoldtoConstr dataTypeOf dataCast1 dataCast2ProxygmapTgmapMgmapQgmapQr fromConstr fromConstrB fromConstrM dataTypeName dataTypeRep constrType constrRep repConstr mkDataTypemkConstrdataTypeConstrs constrFields constrFixity showConstr readConstr isAlgType indexConstr constrIndexmaxConstrIndex mkIntType mkFloatType mkStringType mkPrimType mkPrimCon mkIntConstr mkFloatConstrmkStringConstr mkNorepType isNorepType ConstructorderiveTypeablePrimderiveDataPrimderiveMinimalDatatypeInfo deriveOne deriveOneDec deriveOneDataderive deriveDec deriveDataderiveTypeablederiveOneTypeablederiveMinimalOne deriveMinimal $fSatPairCtx $fSatNoCtx $fEqConstr $fShowConstrbaseData.Typeable.InternalTypeable Typeable1 Typeable2 Typeable3 Typeable4 Typeable5 Typeable6 Typeable7 Data.Typeablegcast2gcast1gcastmkTyCon typeRepKey TypeRepKey showsTypeReptypeOf6DefaulttypeOf5DefaulttypeOf4DefaulttypeOf3DefaulttypeOf2DefaulttypeOf1Default typeOfDefault tyConString typeRepArgs typeRepTyConmkTyCon3mkAppTy funResultTy splitTyConAppmkFunTy tyConName tyConModule tyConPackagetypeOf1typeOf2typeOf3typeOf4typeOf5typeOf6typeOf7cast mkTyConAppTypeRepTyContypeOf2dataType_sybwc_Data.ByteString.Internal.ByteString(constr_sybwc_Data.ByteString.Internal.PS7dataType_sybwc_Data.ByteString.Lazy.Internal.ByteString0constr_sybwc_Data.ByteString.Lazy.Internal.Empty0constr_sybwc_Data.ByteString.Lazy.Internal.Chunk falseConstr trueConstr boolDataTypecharType floatType doubleTypeintType integerTypeint8Type int16Type int32Type int64TypewordType word8Type word16Type word32Type word64Type ratioConstr ratioDataType nilConstr consConstr listDataType nothingConstr justConstr maybeDataTypeltConstreqConstrgtConstrorderingDataType leftConstr rightConstreitherDataType tuple0Constrtuple0DataType tuple2Constrtuple2DataType tuple3Constrtuple3DataType tuple4Constrtuple4DataType tuple5Constrtuple5DataType tuple6Constrtuple6DataType tuple7Constrtuple7DataType$fDatactxTyCon$fDatactxTypeRep$fDatactx(,,,,,,)$fDatactx(,,,,,)$fDatactx(,,,,)$fDatactx(,,,) $fDatactx(,,) $fDatactx(,) $fDatactx() $fDatactx(->)$fDatactxEither$fDatactxOrdering$fDatactxMaybe $fDatactx[]$fDatactxRatio$fDatactxWord64$fDatactxWord32$fDatactxWord16$fDatactxWord8 $fDatactxWord$fDatactxInt64$fDatactxInt32$fDatactxInt16 $fDatactxInt8$fDatactxInteger $fDatactxInt$fDatactxDouble$fDatactxFloat $fDatactxChar $fDatactxBoolemptyMapConstrinsertMapConstr mapDataTypeemptySetConstrinsertSetConstr setDataType $fDatactxSet $fDatactxMap$fDatactxArray $fDatactxMVar $fDatactxST$fDatactxForeignPtr$fDatactxIORef$fDatactxStablePtr $fDatactxPtr$fDatactxHandle $fDatactxIO$fDatactxDataType$fTypeableDataType$fDatactxByteString$fDatactxByteString0