hedgehog-1.2: Release with confidence.
Safe Haskell None
Language Haskell2010

Hedgehog.Internal.Distributive

Documentation

class MonadTransDistributive g where Source #

Associated Types

type Transformer (f :: ( Type -> Type ) -> Type -> Type ) (g :: ( Type -> Type ) -> Type -> Type ) (m :: Type -> Type ) :: Constraint Source #

type Transformer f g m = ( Monad m, Monad (f m), Monad (g m), Monad (f (g m)), MonadTrans f, MFunctor f)

Methods

distributeT :: Transformer f g m => g (f m) a -> f (g m) a Source #

Distribute one monad transformer over another.

Instances

Instances details
MonadTransDistributive MaybeT Source #
Instance details

Defined in Hedgehog.Internal.Distributive

Associated Types

type Transformer f MaybeT m Source #

Methods

distributeT :: forall f (m :: Type -> Type ) a. Transformer f MaybeT m => MaybeT (f m) a -> f ( MaybeT m) a Source #

MonadTransDistributive TreeT Source #
Instance details

Defined in Hedgehog.Internal.Tree

Associated Types

type Transformer f TreeT m Source #

Methods

distributeT :: forall f (m :: Type -> Type ) a. Transformer f TreeT m => TreeT (f m) a -> f ( TreeT m) a Source #

MonadTransDistributive GenT Source #
Instance details

Defined in Hedgehog.Internal.Gen

Associated Types

type Transformer f GenT m Source #

Methods

distributeT :: forall f (m :: Type -> Type ) a. Transformer f GenT m => GenT (f m) a -> f ( GenT m) a Source #

MonadTransDistributive TestT Source #
Instance details

Defined in Hedgehog.Internal.Property

Associated Types

type Transformer f TestT m Source #

Methods

distributeT :: forall f (m :: Type -> Type ) a. Transformer f TestT m => TestT (f m) a -> f ( TestT m) a Source #

MonadTransDistributive PropertyT Source #
Instance details

Defined in Hedgehog.Internal.Property

MonadTransDistributive ( ReaderT r) Source #
Instance details

Defined in Hedgehog.Internal.Distributive

Associated Types

type Transformer f ( ReaderT r) m Source #

Methods

distributeT :: forall f (m :: Type -> Type ) a. Transformer f ( ReaderT r) m => ReaderT r (f m) a -> f ( ReaderT r m) a Source #

MonadTransDistributive ( ExceptT x) Source #
Instance details

Defined in Hedgehog.Internal.Distributive

Associated Types

type Transformer f ( ExceptT x) m Source #

Methods

distributeT :: forall f (m :: Type -> Type ) a. Transformer f ( ExceptT x) m => ExceptT x (f m) a -> f ( ExceptT x m) a Source #

Monoid w => MonadTransDistributive ( WriterT w) Source #
Instance details

Defined in Hedgehog.Internal.Distributive

Associated Types

type Transformer f ( WriterT w) m Source #

Methods

distributeT :: forall f (m :: Type -> Type ) a. Transformer f ( WriterT w) m => WriterT w (f m) a -> f ( WriterT w m) a Source #

MonadTransDistributive ( StateT s) Source #
Instance details

Defined in Hedgehog.Internal.Distributive

Associated Types

type Transformer f ( StateT s) m Source #

Methods

distributeT :: forall f (m :: Type -> Type ) a. Transformer f ( StateT s) m => StateT s (f m) a -> f ( StateT s m) a Source #

MonadTransDistributive ( IdentityT :: ( Type -> Type ) -> Type -> Type ) Source #
Instance details

Defined in Hedgehog.Internal.Distributive

MonadTransDistributive ( StateT s) Source #
Instance details

Defined in Hedgehog.Internal.Distributive

Associated Types

type Transformer f ( StateT s) m Source #

Methods

distributeT :: forall f (m :: Type -> Type ) a. Transformer f ( StateT s) m => StateT s (f m) a -> f ( StateT s m) a Source #

Monoid w => MonadTransDistributive ( WriterT w) Source #
Instance details

Defined in Hedgehog.Internal.Distributive

Associated Types

type Transformer f ( WriterT w) m Source #

Methods

distributeT :: forall f (m :: Type -> Type ) a. Transformer f ( WriterT w) m => WriterT w (f m) a -> f ( WriterT w m) a Source #

Monoid w => MonadTransDistributive ( RWST r w s) Source #
Instance details

Defined in Hedgehog.Internal.Distributive

Associated Types

type Transformer f ( RWST r w s) m Source #

Methods

distributeT :: forall f (m :: Type -> Type ) a. Transformer f ( RWST r w s) m => RWST r w s (f m) a -> f ( RWST r w s m) a Source #

Monoid w => MonadTransDistributive ( RWST r w s) Source #
Instance details

Defined in Hedgehog.Internal.Distributive

Associated Types

type Transformer f ( RWST r w s) m Source #

Methods

distributeT :: forall f (m :: Type -> Type ) a. Transformer f ( RWST r w s) m => RWST r w s (f m) a -> f ( RWST r w s m) a Source #