hedgehog-1.0: Release with confidence.

Safe HaskellNone
LanguageHaskell98

Hedgehog.Internal.Distributive

Documentation

class MonadTransDistributive g where Source #

Associated Types

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

Methods

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

Distribute one monad transformer over another.

Instances
MonadTransDistributive MaybeT Source # 
Instance details

Defined in Hedgehog.Internal.Distributive

Associated Types

type Transformer f MaybeT m :: Constraint Source #

Methods

distributeT :: 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 :: Constraint Source #

Methods

distributeT :: 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 :: Constraint Source #

Methods

distributeT :: 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 :: Constraint Source #

Methods

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

MonadTransDistributive PropertyT Source # 
Instance details

Defined in Hedgehog.Internal.Property

Associated Types

type Transformer f PropertyT m :: Constraint Source #

Methods

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

MonadTransDistributive (ExceptT x) Source # 
Instance details

Defined in Hedgehog.Internal.Distributive

Associated Types

type Transformer f (ExceptT x) m :: Constraint Source #

Methods

distributeT :: 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 :: Constraint Source #

Methods

distributeT :: 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 :: Constraint Source #

Methods

distributeT :: 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

Associated Types

type Transformer f IdentityT m :: Constraint Source #

Methods

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

MonadTransDistributive (StateT s) Source # 
Instance details

Defined in Hedgehog.Internal.Distributive

Associated Types

type Transformer f (StateT s) m :: Constraint Source #

Methods

distributeT :: 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 :: Constraint Source #

Methods

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

MonadTransDistributive (ReaderT r :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Hedgehog.Internal.Distributive

Associated Types

type Transformer f (ReaderT r) m :: Constraint Source #

Methods

distributeT :: Transformer f (ReaderT r) m => ReaderT r (f m) a -> f (ReaderT r 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 :: Constraint Source #

Methods

distributeT :: 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 :: Constraint Source #

Methods

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

class MonadTransControl t => MonadTransJuggle (t :: (* -> *) -> * -> *) where Source #

Methods

mapStT :: Proxy t -> Proxy a -> (a -> b) -> StT t a -> StT t b Source #

juggleState :: Proxy t -> Proxy a -> s -> StT t (a, s) -> (StT t a, s) Source #

Instances
MonadTransJuggle MaybeT Source # 
Instance details

Defined in Hedgehog.Internal.Distributive

Methods

mapStT :: Proxy MaybeT -> Proxy a -> (a -> b) -> StT MaybeT a -> StT MaybeT b Source #

juggleState :: Proxy MaybeT -> Proxy a -> s -> StT MaybeT (a, s) -> (StT MaybeT a, s) Source #

MonadTransJuggle (ExceptT x) Source # 
Instance details

Defined in Hedgehog.Internal.Distributive

Methods

mapStT :: Proxy (ExceptT x) -> Proxy a -> (a -> b) -> StT (ExceptT x) a -> StT (ExceptT x) b Source #

juggleState :: Proxy (ExceptT x) -> Proxy a -> s -> StT (ExceptT x) (a, s) -> (StT (ExceptT x) a, s) Source #

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

Defined in Hedgehog.Internal.Distributive

Methods

mapStT :: Proxy (WriterT w) -> Proxy a -> (a -> b) -> StT (WriterT w) a -> StT (WriterT w) b Source #

juggleState :: Proxy (WriterT w) -> Proxy a -> s -> StT (WriterT w) (a, s) -> (StT (WriterT w) a, s) Source #

MonadTransJuggle (StateT s) Source # 
Instance details

Defined in Hedgehog.Internal.Distributive

Methods

mapStT :: Proxy (StateT s) -> Proxy a -> (a -> b) -> StT (StateT s) a -> StT (StateT s) b Source #

juggleState :: Proxy (StateT s) -> Proxy a -> s0 -> StT (StateT s) (a, s0) -> (StT (StateT s) a, s0) Source #

MonadTransJuggle (StateT s) Source # 
Instance details

Defined in Hedgehog.Internal.Distributive

Methods

mapStT :: Proxy (StateT s) -> Proxy a -> (a -> b) -> StT (StateT s) a -> StT (StateT s) b Source #

juggleState :: Proxy (StateT s) -> Proxy a -> s0 -> StT (StateT s) (a, s0) -> (StT (StateT s) a, s0) Source #

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

Defined in Hedgehog.Internal.Distributive

Methods

mapStT :: Proxy (WriterT w) -> Proxy a -> (a -> b) -> StT (WriterT w) a -> StT (WriterT w) b Source #

juggleState :: Proxy (WriterT w) -> Proxy a -> s -> StT (WriterT w) (a, s) -> (StT (WriterT w) a, s) Source #

MonadTransJuggle (ReaderT r :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Hedgehog.Internal.Distributive

Methods

mapStT :: Proxy (ReaderT r) -> Proxy a -> (a -> b) -> StT (ReaderT r) a -> StT (ReaderT r) b Source #

juggleState :: Proxy (ReaderT r) -> Proxy a -> s -> StT (ReaderT r) (a, s) -> (StT (ReaderT r) a, s) Source #

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

Defined in Hedgehog.Internal.Distributive

Methods

mapStT :: Proxy (RWST r w s) -> Proxy a -> (a -> b) -> StT (RWST r w s) a -> StT (RWST r w s) b Source #

juggleState :: Proxy (RWST r w s) -> Proxy a -> s0 -> StT (RWST r w s) (a, s0) -> (StT (RWST r w s) a, s0) Source #

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

Defined in Hedgehog.Internal.Distributive

Methods

mapStT :: Proxy (RWST r w s) -> Proxy a -> (a -> b) -> StT (RWST r w s) a -> StT (RWST r w s) b Source #

juggleState :: Proxy (RWST r w s) -> Proxy a -> s0 -> StT (RWST r w s) (a, s0) -> (StT (RWST r w s) a, s0) Source #