Safe Haskell | None |
---|
A module describing applicative functors
- module Clean.Functor
- class (Unit f, Functor f) => Applicative f where
- (<*>) :: f (a -> b) -> f a -> f b
- newtype ZipList a = ZipList {
- getZipList :: [a]
- newtype ZipTree a = ZipTree (Tree a)
- newtype Backwards f a = Backwards {
- forwards :: f a
- (*>) :: Applicative f => f a1 -> f a -> f a
- (<*) :: Applicative f => f a1 -> f a -> f a1
- ap :: Applicative f => f (a -> b) -> f a -> f b
- liftA :: Functor f => (a -> b) -> f a -> f b
- liftA2 :: Applicative f => (a1 -> a -> b) -> f a1 -> f a -> f b
- liftA3 :: Applicative f => (a2 -> a1 -> a -> b) -> f a2 -> f a1 -> f a -> f b
- liftA4 :: Applicative f => (a3 -> a2 -> a1 -> a -> b) -> f a3 -> f a2 -> f a1 -> f a -> f b
- plusA :: (Semigroup b, Applicative f) => f b -> f b -> f b
- zeroA :: (Unit f, Monoid a) => f a
Documentation
module Clean.Functor
class (Unit f, Functor f) => Applicative f whereSource
Applicative [] | |
Applicative IO | |
Applicative Tree | |
Applicative Interleave | |
Applicative Id | |
Applicative ZipTree | |
Applicative ZipList | |
Applicative ((->) a) | |
Applicative (Either a) | |
Monoid w => Applicative ((,) w) | |
Applicative (Const a) | |
Applicative f => Applicative (Backwards f) | |
(Applicative f, Applicative g) => Applicative (Compose f g) | |
Monad m => Applicative (ContT r m) | |
(Monoid w, Monad m) => Applicative (WriterT w m) | |
Monad m => Applicative (ReaderT r m) | |
Monad m => Applicative (StateT s m) | |
Monad m => Applicative (Kleisli m a) |
A wrapper type for lists with zipping Applicative instances, such that
ZipList [f1,...,fn]
<*>
ZipList [x1,...,xn] == ZipList [f1 x1,...,fn xn]
ZipList | |
|
The Tree equivalent to ZipList
A wrapper for applicative functors with actions executed in the reverse order
(*>) :: Applicative f => f a1 -> f a -> f aSource
(<*) :: Applicative f => f a1 -> f a -> f a1Source
ap :: Applicative f => f (a -> b) -> f a -> f bSource
liftA2 :: Applicative f => (a1 -> a -> b) -> f a1 -> f a -> f bSource
liftA3 :: Applicative f => (a2 -> a1 -> a -> b) -> f a2 -> f a1 -> f a -> f bSource
liftA4 :: Applicative f => (a3 -> a2 -> a1 -> a -> b) -> f a3 -> f a2 -> f a1 -> f a -> f bSource
plusA :: (Semigroup b, Applicative f) => f b -> f b -> f bSource