h&~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG H (C) 2021, QBayLogic B.V.BSD2 (see the file LICENSE)%QBayLogic B.V. None / clash-lib-hedgehog Generate a I with the specified core type. If the type does not correspond to a known  PrimTyCon (as defined in Clash.Core.TysPrim) then an error is returned. clash-lib-hedgehog#The type of the literal to generate  (C) 2021, QBayLogic B.V.BSD2 (see the file LICENSE)%QBayLogic B.V. None/<clash-lib-hedgehogThe configuration of Haskell / Clash which the generated source adheres to. These are typically things which change what a user could potentially have written in a source file, such as language extensions.clash-lib-hedgehogThe CoreGenT monad keeps track of features like language extensions which have an impact on what can be generated. This allows more meaningful random generation, as the output of generators can be constrained to the same variant of Haskell / Clash used by the caller.clash-lib-hedgehog*Run a generator that generates types from  clash-lib. This is intended to transform another monad which implements  .clash-lib-hedgehogThe default configuration matches the set of language extensions which are enabled by default when running clash / clashi. For most projects, this will likely be the most representative set of options.  (C) 2021, QBayLogic B.V.BSD2 (see the file LICENSE)%QBayLogic B.V. None / /'clash-lib-hedgehogDetermine the bias of an item. This is used to set the weight of that item so we can sample using the   generator instead of   or  .Where might you want to introduce such a bias? If there is a collection of elements where there is a likeliness that real code would use certain values more or less, we want to be able to capture this. An obvious example of this is the TyConMap, where without it every constructor would have an even weighting, when in reality some (like Void# or Addr# are much less likely to appear in code written by a Clash user).'('((C) 2021, QBayLogic B.V.BSD2 (see the file LICENSE)%QBayLogic B.V. None / '(*+,-.*+-,'(.(C) 2021, QBayLogic B.V.BSD2 (see the file LICENSE)%QBayLogic B.V. None / 5clash-lib-hedgehogGenerate a name using the given generator, while ensuring the unique of the generated name does not occur in the given UniqMap.6clash-lib-hedgehogGenerate a collection of names, from a supplied function to generate names and the number of names to generate.TODO While this gives "unique" names because the uniques are different, it can generate multiple names with the same OccName./0123456/0123456(C) 2021, QBayLogic B.V.BSD2 (see the file LICENSE)%QBayLogic B.V. None /7clash-lib-hedgehog5Generate a fresh type variable of the specified kind.8clash-lib-hedgehog2Generate a fresh identifier of the specified kind.9clash-lib-hedgehog8Generate a fresh local identifier of the specified kind.:clash-lib-hedgehog9Generate a fresh global identifier of the specified kind.;clash-lib-hedgehogGenerate a collection of variables, from a supplied function to generate variables and the kinds / types of variables to generate.TODO While this gives "unique" vars because the uniques are different, it can generate multiple vars with the same OccName.789:;789:;(C) 2021, QBayLogic B.V.BSD2 (see the file LICENSE)%QBayLogic B.V. None / <clash-lib-hedgehogGenerate a function where the codomain is the given type / kind. Any other restrictions are enforced by the given generator. This can be used with generators for kinds and types.=clash-lib-hedgehogGenerate a closed kind (one without any free variables). If you want to be able to use free variables in a kind, see >.>clash-lib-hedgehog-Generate a kind which is valid for the given J<. The kind may contain free variables which are given in a K5, and is a valid fit for a hole with the given kind.N.B. Although the kind generated is a fit for the given hole, calling a function like  may return a different kind. This is because quantifiers are both the introduction rule for kind arrows and a kind former of their own right, so for the hole Type -> Typea generated fit might beforall a. a -> a*but this is then inferred to have the kindType?clash-lib-hedgehogGenerate a polymorphic type which is valid for the given environment. The generated type should have the specified kind, and no free variables.@clash-lib-hedgehogGenerate a polymorphic type which is valid for the given environment. The generated type should have the specified kind, and may contain the specified free variables.Aclash-lib-hedgehogGenerate a monomorphic type which is valid for the given environment. The generated type should have the specified kind, and no free variables.Bclash-lib-hedgehogGenerate a monomorphic type which is valid for the given environment. The generated type should have the specified kind, and may contain the specified free variables.<=>?@AB>=@?BA<(C) 2021, QBayLogic B.V.BSD2 (see the file LICENSE)%QBayLogic B.V. None / Fclash-lib-hedgehogGenerate a term that is valid for the given type constructor map and environment of free type and term variables. The term generated must have the specified type.Fclash-lib-hedgehog#The types in scope while generatingclash-lib-hedgehog+The currently bound type and term variablesclash-lib-hedgehog$The type of the term being generatedFF (C) 2021, QBayLogic B.V.BSD2 (see the file LICENSE)%QBayLogic B.V. None /Gclash-lib-hedgehogGenerate a list of data constructors for a type. This biases towards creating constructors which match some common form seen in code, such as simple enums with no fields, or records.Gclash-lib-hedgehog6The number of constructors to create for the data typeclash-lib-hedgehog2The types already in scope when defining this typeclash-lib-hedgehogThe name of the AlgTyCon the constructors belong toclash-lib-hedgehogThe kind of the AlgTyCon the constructors belong toGG (C) 2021, QBayLogic B.V.BSD2 (see the file LICENSE)%QBayLogic B.V. None /xHclash-lib-hedgehogA TyConMap contains all the algebraic data types and type families that are used in a program. This is typically the first thing that should be generated, as calls to other generators like genKind or  genTypeFrom will likely want to use the type constructors added to the TyConMap.7TODO It would be nice if this also included types from  clash-prelude like Signal and the sized number types. Maybe we want to hook into  clash-ghc0 to load type constructors and primitives from  Clash.Prelude.HH !"#$%%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\ ] ^_`a_bc_de clash-lib-hedgehog-1.9.0-inplaceClash.Hedgehog.Core.MonadClash.Hedgehog.Core.LiteralClash.Hedgehog.Internal.BiasClash.Hedgehog.UniqueClash.Hedgehog.Core.NameClash.Hedgehog.Core.VarClash.Hedgehog.Core.TypeClash.Hedgehog.Core.TermClash.Hedgehog.Core.DataConClash.Hedgehog.Core.TyCon Hedgehog.Gen frequencyelementchoiceClash.Core.HasTypeinferCoreKindOf mtl-2.2.2Control.Monad.Reader.Class MonadReaderasklocalreaderbaseGHC.Base<|>emptysomemany Alternativehedgehog-1.4-2f4d7993845cbb1825277d361d6dc5710c0486aa3f101cec277a7e83e9ea915bHedgehog.Internal.GenfromGenTtoGenTGenBaseMonadGengenLiteralFrom CoreGenConfigallowDataKindsallowPolyKindsallowRankNTypesallowTypeFamiliesallowUndecidableInstancesCoreGenT runCoreGenT defaultConfigcanGenDataKindscanGenPolyKindscanGenRankNTypescanGenTypeFamiliescanGenUndecidableInstances$fAlternativeCoreGenT$fApplicativeCoreGenT$fFunctorCoreGenT$fMonadCoreGenT$fMonadFailCoreGenT$fMonadGenCoreGenT$fMonadIOCoreGenT"$fMonadReaderCoreGenConfigCoreGenT$fMonadTransCoreGenT$fShowCoreGenConfigBiasbiasOf $fBiasTyCon genUnique genUniqMapsampleAnyUniqMap sampleUniqMapsampleUniqMapBiased genKindName genTypeName genTyConName genTermNamegenDataConName genVarName genFreshNamegenNamesgenTyVargenId genLocalId genGlobalIdgenVarsgenWithCodomaingenClosedKindFrom genKindFromgenClosedPolyTypegenPolyTypeFromgenClosedMonoTypegenMonoTypeFrom $fMonoidClass$fSemigroupClass $fShowClass genTermFromgenDataConsFrom genTyConMapclash-lib-1.9.0-inplaceClash.Core.LiteralLiteralClash.Core.TyConTyConMapClash.Data.UniqMapUniqMap