Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
- identity :: (Eq (f a), Monad m, Show (f a), Applicative f) => Series m (f a) -> Property m
- composition :: (Eq (f b), Monad m, Show (f c), Show (f (a -> b)), Show (f (c -> a)), Applicative f) => Series m (f (c -> a)) -> Series m (f c) -> Series m (f (a -> b)) -> Property m
- compositionSum :: (Eq (f b), Monad m, Show (f c), Show (f (a -> b)), Show (f (c -> a)), Applicative f) => Series m (f (c -> a)) -> Series m (f c) -> Series m (f (a -> b)) -> Property m
- homomorphism :: forall m f a b. (Monad m, Applicative f, Eq b, Eq (f b), Show a, Show b, Serial Identity a, Serial Identity b) => Proxy f -> Series m a -> Series m (a -> b) -> Property m
- homomorphismSum :: forall m f a b. (Monad m, Applicative f, Eq b, Eq (f b), Show a, Show b, Serial Identity a, Serial Identity b) => Proxy f -> Series m a -> Series m (a -> b) -> Property m
- interchange :: (Eq (f b), Monad m, Show a, Show (f (a -> b)), Applicative f) => Series m a -> Series m (f (a -> b)) -> Property m
- interchangeSum :: (Eq (f b), Monad m, Show a, Show (f (a -> b)), Applicative f) => Series m a -> Series m (f (a -> b)) -> Property m
Applicative laws
identity :: (Eq (f a), Monad m, Show (f a), Applicative f) => Series m (f a) -> Property m Source
Check the identity law hold for the given Applicative
Series
:
pure
id<*>
v ≡ v
composition :: (Eq (f b), Monad m, Show (f c), Show (f (a -> b)), Show (f (c -> a)), Applicative f) => Series m (f (c -> a)) -> Series m (f c) -> Series m (f (a -> b)) -> Property m Source
compositionSum :: (Eq (f b), Monad m, Show (f c), Show (f (a -> b)), Show (f (c -> a)), Applicative f) => Series m (f (c -> a)) -> Series m (f c) -> Series m (f (a -> b)) -> Property m Source
homomorphism :: forall m f a b. (Monad m, Applicative f, Eq b, Eq (f b), Show a, Show b, Serial Identity a, Serial Identity b) => Proxy f -> Series m a -> Series m (a -> b) -> Property m Source
homomorphismSum :: forall m f a b. (Monad m, Applicative f, Eq b, Eq (f b), Show a, Show b, Serial Identity a, Serial Identity b) => Proxy f -> Series m a -> Series m (a -> b) -> Property m Source
interchange :: (Eq (f b), Monad m, Show a, Show (f (a -> b)), Applicative f) => Series m a -> Series m (f (a -> b)) -> Property m Source