h**&      !"#$%&'()*+,-./012345678 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g hijklmnopqrstuvwxyz{|}~0.5.0 Safe-Inferred )1=> Safe-Inferred )1=>  Safe-Inferred )1=>Bgeneric-data-functions? without the value (only used as a proxy). Lets us push our s into one place.generic-data-functions? without the value (only used as a proxy). Lets us push our s into one place.generic-data-functions? without the value (only used as a proxy). Lets us push our s into one place.generic-data-functions.Get the record name for a selector if present.On the type level, a 'Maybe Symbol' is stored for record names. But the reification is done using  fromMaybe "". So we have to inspect the resulting string to determine whether the field uses record syntax or not. (Silly.)generic-data-functions1 for the generic representation of the void type. Safe-Inferred)1=>cgeneric-data-functions8Reify a list of type-level strings. Order is maintained. generic-data-functionsAppend for type-level lists. generic-data-functions2List every constructor name in a generic type rep.    Safe-Inferred )1=> Safe-Inferred )1=>generic-data-functionsgeneric-data-functions2Implementation enumeration type class for generic .The type variable is uninstantiated, used purely as a tag. Good types include the type class used inside (providing you define the type class/it's not an orphan instance), or a custom void data type. See the binrep library on Hackage for an example.generic-data-functions The target  to  to.generic-data-functions'The type class providing the action in  for permitted types.generic-data-functionsThe action in  (first argument).We include data type metadata because this function is useful for monadic parsers, which can record it in error messages. (We don't do it for foldMap because it's pure.)generic-data-functions%Action to run when trying to parse a  (void data type). Defaults to 4, but you may wrap it in your functor if it pleases.generic-data-functions over types where all fields are replaced with the functor's .1Note that one may write a valid instance using a  on a>s instead. I don't think you should. But I can't explain why.generic-data-functions. over types with no fields in any constructor.generic-data-functionsdata type name generic-data-functionsconstructor name generic-data-functionsrecord name (if present) generic-data-functions field index  Safe-Inferred)1=> $generic-data-functions?How to use a type as a prefix tag in a generic sum type parser.&generic-data-functions1How to turn a constructor name into a prefix tag.'generic-data-functions(How to compare prefix tags for equality.By shoving this into our generic derivation config, we can avoid adding an insidious 6 constraint. In general, you will want to set this to .(generic-data-functions"Make a prefix tag human-readable.  is often appropriate.)generic-data-functions(Sum type monads that can be generically d.*generic-data-functions"Try to parse a prefix tag of type pt.+Relevant metadata is provided as arguments.+generic-data-functionsParse error due to no constructor matching the parsed prefix tag.+Relevant metadata is provided as arguments.-generic-data-functionsIf the constructor matches the expected prefix tag, then return the action handling that constructor's contents, else return the empty action..generic-data-functions!Combine constructor options with  ("or")./generic-data-functionsTest all constructors of the given non-void data type; if they all fail, run a failure action and pass it all the constructors names in the type.*generic-data-functionsdata type name+generic-data-functionsdata type namegeneric-data-functionsnon-matching constructor namesgeneric-data-functionsprefix tag, prettified !"#$('&%)+* )+*$('&%"# ! Safe-Inferred)1=>01232301  Safe-Inferred )1=>`8generic-data-functionsGeneric " over a term of non-sum data type f a , where f is set by the tag you pass.9generic-data-functionsGeneric  over a term of sum data type f a , where f is set by the tag you pass.You must provide a configuration for how to handle constructors.:generic-data-functions-Construct a prefix tag config using existing  and  instances.;The user only needs to provide the constructor name parser.82)*+$%&'(9":82)*+$%&'(9":  Safe-Inferred)1=>m ;generic-data-functions' on individual constructors (products).=generic-data-functions2Implementation enumeration type class for generic .The type variable is uninstantiated, used purely as a tag. Good types include the type class used inside (providing you define the type class/it's not an orphan instance), or a custom void data type. See the binrep library on Hackage for an example.>generic-data-functions The target  to  to.?generic-data-functions-The type class providing the map function in  for permitted types.@generic-data-functionsThe map function in  (first argument).Ageneric-data-functions$ over types where all fields map to .Bgeneric-data-functions. over types with no fields in any constructor.Cgeneric-data-functionsWow, look! Nothing!Egeneric-data-functions' on individual constructors (products).;<=@?>=@?>;<  Safe-Inferred)1=>6Lgeneric-data-functionsSum type handler handling constructors only. Useful if you handle constructor prefixes elsewhere. FGHIJKLMNO NOLMJKIHGF  Safe-Inferred)1=>)Xgeneric-data-functionsSum type handler prefixing constructor contents with their mapped constructor name via a provided  String -> m. TODO renameXYZ[Z[XY  Safe-Inferred)1=>)bgeneric-data-functions! over generic product data types.Take a generic representation, map each field in the data type to a  , and combine the results with ().bcbc Safe-Inferred )1=>!hgeneric-data-functionsGeneric " over a term of non-sum data type a.a# must have exactly one constructor.igeneric-data-functionsGeneric  over a term of sum data type a.You must provide a function for mapping constructor names to monoidal values.This is the most generic option, but depending on your string manipulation may be slower.jgeneric-data-functionsGeneric  over a term of sum data type a where constructors are mapped to their index (distance from first/leftmost constructor)a% must have at least two constructors.You must provide a function for mapping bytes to monoidal values.This should be fairly fast, but sadly I think it's slower than the generics in store and binary/cereal libraries. =>?@hbiZjN =>?@hbiZjN Safe-Inferred )1=>! kmlnoprqst prqnokmlst Safe-Inferred)1=>#|generic-data-functionsTODOThe type variable is uninstantiated, used purely as a tag. Good types include the type class used inside (providing you define the type class/it's not an orphan instance), or a custom void data type. See the binrep library on Hackage for an example.generic-data-functions#over types where all fields map to generic-data-functions,over types with no fields in any constructorz{|~}|~}z{ Safe-Inferred)1=>$ Safe-Inferred)1=>$l Safe-Inferred )1=>&'generic-data-functions0Generic contra over a term of non-sum data type a.a# must have exactly one constructor.generic-data-functions,Generic contra over a term of sum data type a.9You must provide a contra function for constructor names.This is the most generic option, but depending on your string manipulation may be slower.|}~|}~ Safe-Inferred )1=>&x !"#$%&'()*+,-./0123456789:;<==>?@ABCDEFGHIJKLMNO P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ $generic-data-functions-0.5.0-inplace"Generic.Data.Function.Common.Error$Generic.Data.Function.Common.Generic)Generic.Data.Function.Common.Generic.Meta%Generic.Data.Function.Common.TypeNatsGeneric.Data.Wrappers*Generic.Data.Function.Traverse.Constructor"Generic.Data.Function.Traverse.Sum%Generic.Data.Function.Traverse.NonSumGeneric.Data.Function.Traverse)Generic.Data.Function.FoldMap.Constructor)Generic.Data.Function.FoldMap.SumConsByte!Generic.Data.Function.FoldMap.Sum$Generic.Data.Function.FoldMap.NonSumGeneric.Data.Function.FoldMapGeneric.Data.Function.Example(Generic.Data.Function.Contra.Constructor Generic.Data.Function.Contra.Sum#Generic.Data.Function.Contra.NonSumGeneric.Data.Function.Contrageneric-data-functionsGeneric.Data.Function Data.VoidabsurdPaths_generic_data_functionswrapEeNoEmptyeNoSum datatypeName'conName'selName' selName''absurdV1 KnownSymbols symbolVals++ CstrNames$fKnownSymbolsList[]$fKnownSymbolsList:natVal'' natValInt EmptyRec0ENoRec0NoRec0 ProdArity GTraverseC gTraverseCGenericTraverseGenericTraverseFGenericTraverseCgenericTraverseActiongenericTraverseV1$fGenericTraverseTYPEEmptyRec0$fGenericTraverseTYPENoRec0$fGTraverseCkkkktagcdcc0U1$fGTraverseCkkkktagcdccsiM1$fGTraverseCkkkTYPEtagcdccsi:*: GTraverseCSum gTraverseCSum GTraverseSum gTraverseSum PfxTagCfgpfxTagCfgFromCstr pfxTagCfgEq pfxTagCfgShowGenericTraverseSumgenericTraverseSumPfxTagAction&genericTraverseSumNoMatchingCstrAction$fGTraverseSumkktagV1$fGTraverseCSumkkktagcdM1$fGTraverseCSumkkktagcd:+:$fGTraverseSumkktagM1GTraverseNonSumDgTraverseNonSumDGTraverseNonSumgTraverseNonSum$fGTraverseNonSumDkktagcdV1$fGTraverseNonSumDkktagcd:+:$fGTraverseNonSumDkktagcdM1$fGTraverseNonSumkktagM1genericTraverseNonSumgenericTraverseSumeqShowPfxTagCfg GFoldMapC gFoldMapCGenericFoldMapGenericFoldMapMGenericFoldMapCgenericFoldMapF$fGenericFoldMapTYPEEmptyRec0$fGenericFoldMapTYPENoRec0$fGFoldMapCkktagU1$fGFoldMapCkktagM1$fGFoldMapCkktag:*:TypeErrorMessageFitsInByteResult FitsInByteSumArityGFoldMapCSumCtrArityBytegFoldMapCSumCtrArityByteGFoldMapCSumCtrgFoldMapCSumCtrGFoldMapSumConsBytegFoldMapSumConsByte$fGFoldMapSumConsBytekkmV1$fGFoldMapSumConsBytekkmM1$fGFoldMapSumConsBytekktagM1$fGFoldMapCSumCtrkktagM1$fGFoldMapCSumCtrkktag:+:&$fGFoldMapCSumCtrArityBytekktagarityM1*$fGFoldMapCSumCtrArityBytekTYPEtagarity:+: $fGFoldMapSumConsBytekTYPEtag:+: GFoldMapCSum gFoldMapCSum GFoldMapSum gFoldMapSum$fGFoldMapSumkktagV1$fGFoldMapSumkktagM1$fGFoldMapCSumkktagM1$fGFoldMapCSumkktag:+:$fGFoldMapSumkktagM10$fGFoldMapSumkktag:+:GFoldMapNonSumgFoldMapNonSum$fGFoldMapNonSumkktagV1$fGFoldMapNonSumkktag:+:$fGFoldMapNonSumkktagM1$fGFoldMapNonSumkktagM10genericFoldMapNonSumgenericFoldMapSumgenericFoldMapSumConsByteShowlyunShowlyYXX1X2 showGeneric showGeneric'$fGenericFoldMapTYPEShowly$fSemigroupShowly$fMonoidShowly $fGenericY $fGenericXGContraCgContraC GenericContraGenericContraFGenericContraCgenericContraF$fGenericContraTYPEEmptyRec0$fGenericContraTYPENoRec0$fGContraCkktagU1$fGContraCkktagM1$fGContraCkktag:*: GContraCSum gContraCSum GContraSumD gContraSumD GContraSum gContraSum$fGContraSumDkktagV1$fGContraSumkktagM1$fGContraCSumkktagM1$fGContraCSumkktag:+:$fGContraSumDkktagM1$fGContraSumDkktag:+:GContraNonSumDgContraNonSumD GContraNonSum gContraNonSum$fGContraNonSumDkktagV1$fGContraNonSumDkktag:+:$fGContraNonSumDkktagM1$fGContraNonSumkktagM1genericContraNonSumgenericContraSumbase GHC.Generics datatypeNameGHC.Err undefinedconNameselNameGHC.BasememptyData.Traversabletraverse ApplicativeV1erroremptyMonoidghc-prim GHC.ClassesEq==GHC.Showshow<|>Show Data.FoldablefoldMap<>version getBinDir getLibDir getDynLibDir getDataDir getLibexecDirgetDataFileName getSysconfDir