Safe Haskell | None |
---|
A module describing applicative functors
- module Algebra.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 b -> f a -> f a
- (<*) :: Applicative f => f a -> f b -> f a
- (<**>) :: Applicative f => f (a -> b) -> f a -> f b
- ap :: Applicative f => f (a -> b) -> f a -> f b
- sequence_ :: (Applicative f, Foldable t) => t (f a) -> f ()
- traverse_ :: (Applicative f, Foldable t) => (a -> f b) -> t a -> f ()
- for_ :: (Applicative f, Foldable t) => t a -> (a -> f b) -> f ()
- forever :: Applicative f => f a -> f b
- between :: Applicative f => f b -> f c -> f a -> f a
- liftA :: Functor f => (a -> b) -> f a -> f b
- liftA2 :: Applicative f => (a -> b -> c) -> f a -> f b -> f c
- liftA3 :: Applicative f => (a -> b -> c -> d) -> f a -> f b -> f c -> f d
- liftA4 :: Applicative f => (a -> b -> c -> d -> e) -> f a -> f b -> f c -> f d -> f e
- plusA :: (Applicative f, Semigroup a) => f a -> f a -> f a
- zeroA :: (Unit f, Monoid a) => f a
- filter :: (Unit f, Monoid (f a), Foldable t) => (a -> Bool) -> t a -> f a
Documentation
module Algebra.Functor
class (Unit f, Functor f) => Applicative f whereSource
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
MonadTrans Backwards | |
Unit f => Unit (Backwards f) | |
MonadFix m => MonadFix (Backwards m) | |
MonadFix m => Monad (Backwards m) | |
Applicative f => Applicative (Backwards f) | |
Functor f => Functor (Backwards f) | |
Ring (f a) => Ring (Backwards f a) | |
Monoid (f a) => Monoid (Backwards f a) | |
Semigroup (f a) => Semigroup (Backwards f a) |
(*>) :: Applicative f => f b -> f a -> f aSource
(<*) :: Applicative f => f a -> f b -> f aSource
(<**>) :: Applicative f => f (a -> b) -> f a -> f bSource
ap :: Applicative f => f (a -> b) -> f a -> f bSource
sequence_ :: (Applicative f, Foldable t) => t (f a) -> f ()Source
traverse_ :: (Applicative f, Foldable t) => (a -> f b) -> t a -> f ()Source
for_ :: (Applicative f, Foldable t) => t a -> (a -> f b) -> f ()Source
forever :: Applicative f => f a -> f bSource
between :: Applicative f => f b -> f c -> f a -> f aSource
liftA2 :: Applicative f => (a -> b -> c) -> f a -> f b -> f cSource
liftA3 :: Applicative f => (a -> b -> c -> d) -> f a -> f b -> f c -> f dSource
liftA4 :: Applicative f => (a -> b -> c -> d -> e) -> f a -> f b -> f c -> f d -> f eSource
plusA :: (Applicative f, Semigroup a) => f a -> f a -> f aSource