clash-lib-hedgehog-1.5.0: Hedgehog Generators for clash-lib
Copyright(C) 2021 QBayLogic B.V.
LicenseBSD2 (see the file LICENSE)
MaintainerQBayLogic B.V. <>
Safe HaskellNone



Random generation of names.



genKindName :: forall m. MonadGen m => m KiName Source #

genTypeName :: forall m. MonadGen m => m TyName Source #

genTyConName :: forall m. MonadGen m => m TyConName Source #

genTermName :: forall m. MonadGen m => m TmName Source #

genDataConName :: forall m. MonadGen m => m DcName Source #

genVarName :: forall m a. MonadGen m => m (Name a) Source #

genFreshName :: forall m a b. MonadGen m => UniqSet b -> m (Name a) -> m (Name a) Source #

Generate a name using the given generator, while ensuring the unique of the generated name does not occur in the given UniqSet.

genNames :: forall m a. MonadGen m => Int -> m (Name a) -> m [Name a] Source #

Generate 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.