clash-lib-hedgehog-1.8.0: Hedgehog Generators for clash-lib
Copyright(C) 2021 QBayLogic B.V.
LicenseBSD2 (see the file LICENSE)
MaintainerQBayLogic B.V. <devops@qbaylogic.com>
Safe HaskellNone
LanguageHaskell2010

Clash.Hedgehog.Core.Name

Description

Random generation of names.

Synopsis

Documentation

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 => UniqMap 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 UniqMap.

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.