lens-action-0.2.2: Monadic Getters and Folds

Copyright | (C) 2012-14 Edward Kmett
License | BSD-style (see the file LICENSE)
Maintainer | Edward Kmett <ekmett@gmail.com>
Stability | experimental
Portability | non-portable
Safe Haskell | Safe
Language | Haskell98

Control.Lens.Action.Reified

Description

Synopsis

- newtype ReifiedMonadicFold m s a = MonadicFold {
  - runMonadicFold :: MonadicFold m s a
  }

# Documentation

newtype ReifiedMonadicFold m s a Source #

Reify a `MonadicFold` so it can be stored safely in a container.

Constructors

MonadicFold |

Fields

- runMonadicFold :: MonadicFold m s a

Instances

MonadReader s (ReifiedMonadicFold m s) Source # |
Methods ask :: ReifiedMonadicFold m s s # local :: (s -> s) -> ReifiedMonadicFold m s a -> ReifiedMonadicFold m s a # reader :: (s -> a) -> ReifiedMonadicFold m s a #
Arrow (ReifiedMonadicFold m) Source # |

Methods

arr :: (b -> c) -> ReifiedMonadicFold m b c #

first :: ReifiedMonadicFold m b c -> ReifiedMonadicFold m (b, d) (c, d) #

second :: ReifiedMonadicFold m b c -> ReifiedMonadicFold m (d, b) (d, c) #

(***) :: ReifiedMonadicFold m b c -> ReifiedMonadicFold m b' c' -> ReifiedMonadicFold m (b, b') (c, c') #

(&&&) :: ReifiedMonadicFold m b c -> ReifiedMonadicFold m b c' -> ReifiedMonadicFold m b (c, c') #

ArrowChoice (ReifiedMonadicFold m) Source # |
Methods left :: ReifiedMonadicFold m b c -> ReifiedMonadicFold m (Either b d) (Either c d) # right :: ReifiedMonadicFold m b c -> ReifiedMonadicFold m (Either d b) (Either d c) # (+++) :: ReifiedMonadicFold m b c -> ReifiedMonadicFold m b' c' -> ReifiedMonadicFold m (Either b b') (Either c c') # (|||) :: ReifiedMonadicFold m b d -> ReifiedMonadicFold m c d -> ReifiedMonadicFold m (Either b c) d #
ArrowApply (ReifiedMonadicFold m) Source # |
Methods app :: ReifiedMonadicFold m (ReifiedMonadicFold m b c, b) c #
Profunctor (ReifiedMonadicFold m) Source # |

Methods

dimap :: (a -> b) -> (c -> d) -> ReifiedMonadicFold m b c -> ReifiedMonadicFold m a d #

lmap :: (a -> b) -> ReifiedMonadicFold m b c -> ReifiedMonadicFold m a c #

rmap :: (b -> c) -> ReifiedMonadicFold m a b -> ReifiedMonadicFold m a c #

(#.) :: Coercible * c b => (b -> c) -> ReifiedMonadicFold m a b -> ReifiedMonadicFold m a c #

(.#) :: Coercible * b a => ReifiedMonadicFold m b c -> (a -> b) -> ReifiedMonadicFold m a c #

Choice (ReifiedMonadicFold m) Source # |
Methods left' :: ReifiedMonadicFold m a b -> ReifiedMonadicFold m (Either a c) (Either b c) # right' :: ReifiedMonadicFold m a b -> ReifiedMonadicFold m (Either c a) (Either c b) #
Strong (ReifiedMonadicFold m) Source # |
Methods first' :: ReifiedMonadicFold m a b -> ReifiedMonadicFold m (a, c) (b, c) # second' :: ReifiedMonadicFold m a b -> ReifiedMonadicFold m (c, a) (c, b) #
Category * (ReifiedMonadicFold m) Source # |
Methods id :: cat a a # (.) :: cat b c -> cat a b -> cat a c #
Monad (ReifiedMonadicFold m s) Source # |
Methods (>>=) :: ReifiedMonadicFold m s a -> (a -> ReifiedMonadicFold m s b) -> ReifiedMonadicFold m s b # (>>) :: ReifiedMonadicFold m s a -> ReifiedMonadicFold m s b -> ReifiedMonadicFold m s b # return :: a -> ReifiedMonadicFold m s a # fail :: String -> ReifiedMonadicFold m s a #
Functor (ReifiedMonadicFold m s) Source # |
Methods fmap :: (a -> b) -> ReifiedMonadicFold m s a -> ReifiedMonadicFold m s b # (<$) :: a -> ReifiedMonadicFold m s b -> ReifiedMonadicFold m s a #
Applicative (ReifiedMonadicFold m s) Source # |
Methods pure :: a -> ReifiedMonadicFold m s a # (<*>) :: ReifiedMonadicFold m s (a -> b) -> ReifiedMonadicFold m s a -> ReifiedMonadicFold m s b # (*>) :: ReifiedMonadicFold m s a -> ReifiedMonadicFold m s b -> ReifiedMonadicFold m s b # (<*) :: ReifiedMonadicFold m s a -> ReifiedMonadicFold m s b -> ReifiedMonadicFold m s a #
Alternative (ReifiedMonadicFold m s) Source # |
Methods empty :: ReifiedMonadicFold m s a # (<|>) :: ReifiedMonadicFold m s a -> ReifiedMonadicFold m s a -> ReifiedMonadicFold m s a # some :: ReifiedMonadicFold m s a -> ReifiedMonadicFold m s [a] # many :: ReifiedMonadicFold m s a -> ReifiedMonadicFold m s [a] #
MonadPlus (ReifiedMonadicFold m s) Source # |
Methods mzero :: ReifiedMonadicFold m s a # mplus :: ReifiedMonadicFold m s a -> ReifiedMonadicFold m s a -> ReifiedMonadicFold m s a #
Plus (ReifiedMonadicFold m s) Source # |
Methods zero :: ReifiedMonadicFold m s a #
Alt (ReifiedMonadicFold m s) Source # |
Methods (<!>) :: ReifiedMonadicFold m s a -> ReifiedMonadicFold m s a -> ReifiedMonadicFold m s a # some :: Applicative (ReifiedMonadicFold m s) => ReifiedMonadicFold m s a -> ReifiedMonadicFold m s [a] # many :: Applicative (ReifiedMonadicFold m s) => ReifiedMonadicFold m s a -> ReifiedMonadicFold m s [a] #
Apply (ReifiedMonadicFold m s) Source # |
Methods (<.>) :: ReifiedMonadicFold m s (a -> b) -> ReifiedMonadicFold m s a -> ReifiedMonadicFold m s b # (.>) :: ReifiedMonadicFold m s a -> ReifiedMonadicFold m s b -> ReifiedMonadicFold m s b # (<.) :: ReifiedMonadicFold m s a -> ReifiedMonadicFold m s b -> ReifiedMonadicFold m s a #
Bind (ReifiedMonadicFold m s) Source # |
Methods (>>-) :: ReifiedMonadicFold m s a -> (a -> ReifiedMonadicFold m s b) -> ReifiedMonadicFold m s b # join :: ReifiedMonadicFold m s (ReifiedMonadicFold m s a) -> ReifiedMonadicFold m s a #
Semigroup (ReifiedMonadicFold m s a) Source # |
Methods (<>) :: ReifiedMonadicFold m s a -> ReifiedMonadicFold m s a -> ReifiedMonadicFold m s a # sconcat :: NonEmpty (ReifiedMonadicFold m s a) -> ReifiedMonadicFold m s a # stimes :: Integral b => b -> ReifiedMonadicFold m s a -> ReifiedMonadicFold m s a #
Monoid (ReifiedMonadicFold m s a) Source # |
Methods mempty :: ReifiedMonadicFold m s a # mappend :: ReifiedMonadicFold m s a -> ReifiedMonadicFold m s a -> ReifiedMonadicFold m s a # mconcat :: [ReifiedMonadicFold m s a] -> ReifiedMonadicFold m s a #