HORIZON HASKELLDocslts/ghc-10.0.x8c2f8e82026-10-19Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 8c2f8e8 · 2026-10-19

Modulequickcheck-dynamic-4.0.1Haskell2010

Test.QuickCheck.StateModel

Model-Based Testing library for use with Haskell QuickCheck.

This module provides the basic machinery to define a StateModel from which traces can be generated and executed against some actual implementation code to define monadic Property to be asserted by QuickCheck.

  • 11 types
  • 4 classes
  • 16 values
classclass (forall a. Show (Action state a), forall a. HasVariables (Action state a), Show state, HasVariables state) => StateModel state where
#

The typeclass users implement to define a model against which to validate some implementation.

To implement a StateModel, user needs to provide at least the following:

For finer grained control over the testing process, one can also define:

  • shrinkAction: Shrinking is an important part of MBT as it allows QuickCheck engine to look for simpler test cases when something goes wrong which makes troubleshooting easier,

  • precondition: Filters generated Action depending on the state. When precondition is False then the action is rejected and a new one is tried. This is also useful when shrinking a trace in order to ensure that removing some Action still produces a valid trace. The precondition can be somewhat redundant with the generator's conditions,

  • validFailingAction: Specifies when an action that fails it's precondition can still run as what is called a _negative_ action. This means that the action is (1) expected to fail and (2) not expected to change the model state. This is very useful for testing the checks and failure conditions in the SUT are implemented correctly. Should it be necessary to update the model state with e.g. book-keeping for a negative action one can define failureNextState - but it is generally recommended to let this be as simple an action as possible.

Associated types

  • data family Action state a

    The type of Action relevant for this state.

    This is expected to be defined as a GADT where the a parameter is instantiated to some observable output from the SUT a given action is expected to produce. For example, here is a fragment of the `Action RegState` (taken from the Spec.Dynamic.RegistryModel module) :

      data Action RegState a where
        Spawn      ::                           Action RegState ThreadId
        Register   :: String -> Var ThreadId -> Action RegState ()
        KillThread :: Var ThreadId           -> Action RegState ()
    

    The Spawn action should produce a ThreadId, whereas the KillThread action does not return anything.

Methods

  • actionName :: Action state a -> String

    Display name for Action. This is useful to provide sensible statistics about the distribution of Actions run when checking a property.

    Default implementation uses a poor-man's string manipulation method to extract the constructor name from the value.

  • arbitraryAction :: VarContext -> state -> Gen (Any (Action state))

    Generator for Action depending on state.

  • shrinkAction :: Typeable a => VarContext -> state -> Action state a -> [Any (Action state)]

    Shrinker for Action. Defaults to no-op but as usual, defining a good shrinker greatly enhances the usefulness of property-based testing.

  • initialState :: state

    Initial state of generated traces.

  • nextState :: Typeable a => state -> Action state a -> Var a -> state

    Transition function for the model. The `Var a` parameter is useful to keep reference to actual value of type a produced by performing the Action inside the state so that further actions can use Lookup to retrieve that data. This allows the model to be ignorant of those values yet maintain some references that can be compared and looked for.

  • failureNextState :: Typeable a => state -> Action state a -> state

    Transition function for negative actions. Note that most negative testing applications should not require an implementation of this function!

  • precondition :: state -> Action state a -> Bool

    Precondition for filtering generated Action. This function is applied before the action is performed, it is useful to refine generators that can produce more values than are useful.

  • validFailingAction :: state -> Action state a -> Bool

    Precondition for filtering an Action that can meaningfully run but is supposed to fail. An action will run as a _negative_ action if the precondition fails and validFailingAction succeeds. A negative action should have _no effect_ on the model state. This may not be desierable in all situations - in which case one can override this semantics for book-keeping in failureNextState.

classclass (forall a. Show (Action state a), Monad m) => RunModel state (m :: Type -> Type) where
#

Associated types

  • type family Error state (m :: Type -> Type)

    The type of errors that actions can throw. If this is defined as anything other than Void perform is required to return `Either (Error state) a` instead of a.

Methods

  • perform :: Typeable a => state -> Action state a -> LookUp -> m (PerformResult state m a)

    Perform an Action in some state in the Monad m. This is the function that's used to exercise the actual stateful implementation, usually through various side-effects as permitted by m. It produces a value of type a, eg. some observable output from the Action that should later be kept in the environment through a `Var a` also passed to the nextState function.

    The Lookup parameter provides an environment to lookup `Var a` instances from previous steps.

  • postcondition :: (state, state) -> Action state a -> LookUp -> a -> PostconditionM m Bool

    Postcondition on the a value produced at some step. The result is asserted and will make the property fail should it be False. This is useful to check the implementation produces expected values.

  • postconditionOnFailure :: (state, state) -> Action state a -> LookUp -> Either (Error state m) a -> PostconditionM m Bool

    Postcondition on the result of running a _negative_ Action. The result is asserted and will make the property fail should it be False. This is useful to check the implementation produces e.g. the expected errors or to check that the SUT hasn't been updated during the execution of the negative action.

  • monitoring :: (state, state) -> Action state a -> LookUp -> Either (Error state m) a -> Property -> Property

    Allows the user to attach additional information to the Property at each step of the process. This function is given the full transition that's been executed, including the start and ending state, the Action, the current environment to Lookup and the value produced by perform while executing this step.

  • monitoringFailure :: state -> Action state a -> LookUp -> Error state m -> Property -> Property

    Allows the user to attach additional information to the Property if a positive action fails.

newtypenewtype PostconditionM (m :: Type -> Type) a
#
Instances4MonadTrans, Monad, Functor, Applicative
datadata Step state where
#

Constructors

Instances4Eq, Show, HasVariables
  • Eq (Step state)Defined in quickcheck-dynamic-4.0.1 · Test.QuickCheck.StateModel
  • Show (Step state)Defined in quickcheck-dynamic-4.0.1 · Test.QuickCheck.StateModel
  • Show (WithUsedVars (Step state))Defined in quickcheck-dynamic-4.0.1 · Test.QuickCheck.StateModel
  • (forall a. HasVariables (Action state a)) => HasVariables (Step state)Defined in quickcheck-dynamic-4.0.1 · Test.QuickCheck.StateModel
datadata Actions state
#

Constructors

Instances7QCDProp, Eq, Show, Generic, Semigroup, Arbitrary, …
classclass Generic a where
#

Representable types of kind *. This class is derivable in GHC with the DeriveGeneric flag on.

A Generic instance must satisfy the following laws:

from . to ≡ Prelude.id
to . from ≡ Prelude.id
Instances218Generic, …
  • Generic CCFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Generic ConcFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Generic DebugFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Generic DoCostCentresDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Generic DoHeapProfileDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Generic DoTraceDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Generic GCFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Generic GiveGCStatsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Generic HpcFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Generic MiscFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Generic ParFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Generic ProfFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Generic RTSFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Generic TickyFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Generic TraceFlagsDefined in base-4.23.0.0 · GHC.RTS.Flags
  • Generic GCDetailsDefined in base-4.23.0.0 · GHC.Stats
  • Generic RTSStatsDefined in base-4.23.0.0 · GHC.Stats
  • Generic ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.Internal
  • Generic VoidDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic ByteOrderDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic ClosureTypeDefined in ghc-internal-10.0.0 · GHC.Internal.ClosureTypes
  • Generic AllDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic AnyDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic VersionDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic FingerprintDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic ForeignSrcLangDefined in ghc-internal-10.0.0 · GHC.Internal.ForeignSrcLang
  • Generic AssociativityDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic DecidedStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic FixityDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic SourceStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic SourceUnpackednessDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic PrimTypeDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Generic TsoFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Generic WhatNextDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Generic WhyBlockedDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Generic StgInfoTableDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.InfoTable.Types
  • Generic CostCentreDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.ProfInfo.Types
  • Generic CostCentreStackDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.ProfInfo.Types
  • Generic IndexTableDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.ProfInfo.Types
  • Generic StgTSOProfInfoDefined in ghc-internal-10.0.0 · GHC.Internal.Heap.ProfInfo.Types
  • Generic ExitCodeDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic ExtensionDefined in ghc-internal-10.0.0 · GHC.Internal.LanguageExtensions
  • Generic CCFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Generic ConcFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Generic DebugFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Generic DoCostCentresDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Generic DoHeapProfileDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Generic DoTraceDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Generic GCFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Generic GiveGCStatsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Generic HpcFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Generic MiscFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Generic ParFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Generic ProfFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Generic RTSFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Generic TickyFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Generic TraceFlagsDefined in ghc-internal-10.0.0 · GHC.Internal.RTS.Flags
  • Generic SrcLocDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic GCDetailsDefined in ghc-internal-10.0.0 · GHC.Internal.Stats
  • Generic RTSStatsDefined in ghc-internal-10.0.0 · GHC.Internal.Stats
  • Generic AnnLookupDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic AnnTargetDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic BangDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic BndrVisDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic BodyDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic BytesDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic CallconvDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic ClauseDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic ConDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic DecDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic DecidedStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic DerivClauseDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic DerivStrategyDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic DocLocDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic ExpDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic FamilyResultSigDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic FixityDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic FixityDirectionDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic ForeignDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic FunDepDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic GuardDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic InfoDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic InjectivityAnnDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic InlineDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic LitDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic LocDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic MatchDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic ModNameDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic ModuleDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic ModuleInfoDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic NameDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic NameFlavourDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic NameSpaceDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic NamespaceSpecifierDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic OccNameDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic OverlapDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic PatDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic PatSynArgsDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic PatSynDirDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic PhasesDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic PkgNameDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic PragmaDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic RangeDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic RoleDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic RuleBndrDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic RuleMatchDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic SafetyDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic SourceStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic SourceUnpackednessDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic SpecificityDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic StmtDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic TyLitDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic TySynEqnDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic TypeDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic TypeFamilyHeadDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic OrderingDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic GeneralCategoryDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic ModeDefined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Generic StyleDefined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Generic TextDetailsDefined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Generic DocDefined in pretty-1.1.3.6 · Text.PrettyPrint.HughesPJ
  • Generic ()Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (Complex a)Defined in base-4.23.0.0 · Data.Complex
  • Generic (First a)Defined in base-4.23.0.0 · Data.Semigroup
  • Generic (Last a)Defined in base-4.23.0.0 · Data.Semigroup
  • Generic (Max a)Defined in base-4.23.0.0 · Data.Semigroup
  • Generic (Min a)Defined in base-4.23.0.0 · Data.Semigroup
  • Generic (WrappedMonoid m)Defined in base-4.23.0.0 · Data.Semigroup
  • Generic (SCC vertex)Defined in containers-0.8 · Data.Graph
  • Generic (Digit a)Defined in containers-0.8 · Data.Sequence.Internal
  • Generic (Elem a)Defined in containers-0.8 · Data.Sequence.Internal
  • Generic (FingerTree a)Defined in containers-0.8 · Data.Sequence.Internal
  • Generic (Node a)Defined in containers-0.8 · Data.Sequence.Internal
  • Generic (ViewL a)Defined in containers-0.8 · Data.Sequence.Internal
  • Generic (ViewR a)Defined in containers-0.8 · Data.Sequence.Internal
  • Generic (PostOrder a)Defined in containers-0.8 · Data.Tree
  • Generic (Tree a)Defined in containers-0.8 · Data.Tree
  • Generic (NonEmpty a)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (Identity a)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (First a)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (Last a)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (Down a)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (Dual a)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (Endo a)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (Product a)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (Sum a)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (ZipList a)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (Par1 p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (GenClosure b)Defined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Generic (GenStackField b)Defined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Generic (GenStackFrame b)Defined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Generic (GenStgStackClosure b)Defined in ghc-internal-10.0.0 · GHC.Internal.Heap.Closures
  • Generic (Maybe a)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (TyVarBndr flag)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Syntax
  • Generic (Doc a)Defined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJ
  • Generic (Actions state)Defined in quickcheck-dynamic-4.0.1 · Test.QuickCheck.StateModel
  • Generic (a)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic [a]Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (WrappedMonad m a)Defined in base-4.23.0.0 · Control.Applicative
  • Generic (Arg a b)Defined in base-4.23.0.0 · Data.Semigroup
  • Generic (Either a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (Proxy t)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (U1 p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (V1 p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (Lift f a)Defined in transformers-0.6.3.0 · Control.Applicative.Lift
  • Generic (MaybeT m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Maybe
  • Generic (a, b)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (WrappedArrow a b c)Defined in base-4.23.0.0 · Control.Applicative
  • Generic (Kleisli m a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Control.Arrow
  • Generic (Const a b)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (Ap f a)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (Alt f a)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (Rec1 f p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (URec Char p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (URec Double p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (URec Float p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (URec Int p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (URec Word p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (URec (Ptr ()) p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (Backwards f a)Defined in transformers-0.6.3.0 · Control.Applicative.Backwards
  • Generic (AccumT w m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Accum
  • Generic (ExceptT e m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Except
  • Generic (IdentityT f a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Identity
  • Generic (ReaderT r m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Reader
  • Generic (SelectT r m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Select
  • Generic (StateT s m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.State.Lazy
  • Generic (StateT s m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.State.Strict
  • Generic (WriterT w m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Writer.CPS
  • Generic (WriterT w m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Writer.Lazy
  • Generic (WriterT w m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Writer.Strict
  • Generic (Constant a b)Defined in transformers-0.6.3.0 · Data.Functor.Constant
  • Generic (Reverse f a)Defined in transformers-0.6.3.0 · Data.Functor.Reverse
  • Generic (a, b, c)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (Product f g a)Defined in base-4.23.0.0 · Data.Functor.Product
  • Generic (Sum f g a)Defined in base-4.23.0.0 · Data.Functor.Sum
  • Generic (K1 i c p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (ContT r m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Cont
  • Generic ((:*:) f g p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic ((:+:) f g p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (a, b, c, d)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (Compose f g a)Defined in base-4.23.0.0 · Data.Functor.Compose
  • Generic (M1 i c f p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (RWST r w s m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.RWS.CPS
  • Generic (RWST r w s m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.RWS.Lazy
  • Generic (RWST r w s m a)Defined in transformers-0.6.3.0 · Control.Monad.Trans.RWS.Strict
  • Generic ((:.:) f g p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (a, b, c, d, e)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (a, b, c, d, e, f)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (a, b, c, d, e, f, g)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (a, b, c, d, e, f, g, h)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (a, b, c, d, e, f, g, h, i)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (a, b, c, d, e, f, g, h, i, j)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (a, b, c, d, e, f, g, h, i, j, k)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (a, b, c, d, e, f, g, h, i, j, k, l)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (a, b, c, d, e, f, g, h, i, j, k, l, m)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics