mtl-unleashed-0.3.2: MTL classes without the functional dependency

Safe HaskellNone
LanguageHaskell2010

Control.Monad.Readers

Description

MonadState without the function dependency m -> s.

Synopsis

Documentation

magnify' :: forall r s m b. MonadReaders s m => Getting r s r -> ReaderT r m b -> m b Source

I don't know why Control.Lens.magnify isn't working for me.

class Monad m => MonadReaders r m where Source

Version of MonadReader modified to remove the functional dependency.

Minimal complete definition

local

Methods

ask :: m r Source

local :: (r -> r) -> m a -> m a Source

asks Source

Arguments

:: MonadReaders r m 
=> (r -> a)

The selector function to apply to the environment.

-> m a 

Retrieves a function of the current environment.

view :: MonadReaders s m => Getting a s a -> m a Source

views :: (Profunctor p, MonadReaders s m) => Optical p (->) (Const r) s s a a -> p a r -> m r Source

iview :: MonadReaders s m => IndexedGetting i (i, a) s a -> m (i, a) Source

iviews :: MonadReaders s m => IndexedGetting i r s a -> (i -> a -> r) -> m r Source

preview :: MonadReaders s m => Getting (First a) s a -> m (Maybe a) Source

previews :: MonadReaders s m => Getting (First r) s a -> (a -> r) -> m (Maybe r) Source

ipreview :: MonadReaders s m => IndexedGetting i (First (i, a)) s a -> m (Maybe (i, a)) Source

ipreviews :: MonadReaders s m => IndexedGetting i (First r) s a -> (i -> a -> r) -> m (Maybe r) Source

review :: MonadReaders b m => AReview t b -> m t Source

reviews :: MonadReaders b m => AReview t b -> (t -> r) -> m r Source

class (Magnified m ~ Magnified n, MonadReaders b m, MonadReaders a n) => Magnify m n b a | m -> b, n -> a, m a -> n, n b -> m where Source

Methods

magnify :: LensLike' (Magnified m c) a b -> m c -> n c Source