Modulererebase-1.21.2Haskell2010
Control.Monad.Trans.Reader
- 2 types
- 11 values
- Packagererebase-1.21.2
- Exports13
- LanguageHaskell2010
- LicenceMIT
- SourceReader.hs
Lift a callCC operation to the new monad.
Transform the computation inside a ReaderT.
runReaderT (mapReaderT f m) = f . runReaderT m
Runs a Reader and extracts the final value from it.
(The inverse of reader.)
withReader Execute a computation in a modified environment (a specialization of withReaderT).
runReader (withReader f m) = runReader m . f
withReaderT Execute a computation in a modified environment (a more general version of local).
runReaderT (withReaderT f m) = runReaderT m . f
Fetch the value of the environment.
local Execute a computation in a modified environment (a specialization of withReaderT).
runReaderT (local f m) = runReaderT m . f
Constructor for computations in the reader monad (equivalent to asks).
The reader monad transformer, which adds a read-only environment to the given monad.
The return function ignores the environment, while m >>= k
passes the inherited environment to both subcomputations:
Constructors
ReaderTrunReaderT :: r -> m a
Instances53Generic1, MonadAccum, MonadError, MonadReader, MonadState, MonadWriter, …
Generic1 (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderMonadAccum w m => MonadAccum w (ReaderT r m)Defined in mtl-2.3.1 · Control.Monad.AccumMonadError e m => MonadError e (ReaderT r m)Defined in mtl-2.3.1 · Control.Monad.Error.ClassMonad m => MonadReader r (ReaderT r m)Defined in mtl-2.3.1 · Control.Monad.Reader.ClassMonadState s m => MonadState s (ReaderT r m)Defined in mtl-2.3.1 · Control.Monad.State.ClassMonadWriter w m => MonadWriter w (ReaderT r m)Defined in mtl-2.3.1 · Control.Monad.Writer.ClassMonadSelect r' m => MonadSelect r' (ReaderT r m)Defined in mtl-2.3.1 · Control.Monad.SelectProvides a read-only environment of type
rto the 'strategy' function. However, the 'ranking' function (or more accurately, representation) has no access tor. Put another way, you can influence what values get chosen by changingr, but not how solutions are ranked.MonadBase b m => MonadBase b (ReaderT r m)Defined in transformers-base-0.4.6 · Control.Monad.Base(Functor f, MonadFree f m) => MonadFree f (ReaderT e m)Defined in free-5.2 · Control.Monad.Free.ClassMonadTrans (ReaderT r)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderBindTrans (ReaderT e)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.TransMonad m => Monad (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderFunctor m => Functor (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderMonadFix m => MonadFix (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderMonadFail m => MonadFail (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderApplicative m => Applicative (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderAlternative m => Alternative (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderMonadPlus m => MonadPlus (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderMonadIO m => MonadIO (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderMonadZip m => MonadZip (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderContravariant m => Contravariant (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderMonadCont m => MonadCont (ReaderT r m)Defined in mtl-2.3.1 · Control.Monad.Cont.ClassMonadCatch m => MonadCatch (ReaderT r m)Defined in exceptions-0.10.9 · Control.Monad.CatchMonadMask m => MonadMask (ReaderT r m)Defined in exceptions-0.10.9 · Control.Monad.CatchMonadThrow m => MonadThrow (ReaderT r m)Defined in exceptions-0.10.9 · Control.Monad.CatchPrimMonad m => PrimMonad (ReaderT r m)Defined in primitive-0.9.1.0 · Control.Monad.PrimitiveDistributive g => Distributive (ReaderT e g)Defined in distributive-0.6.2.1 · Data.DistributiveDecidable m => Decidable (ReaderT r m)Defined in contravariant-1.5.5 · Data.Functor.Contravariant.DivisibleDivisible m => Divisible (ReaderT r m)Defined in contravariant-1.5.5 · Data.Functor.Contravariant.DivisibleAlt f => Alt (ReaderT e f)Defined in semigroupoids-6.0.1 · Data.Functor.AltApply m => Apply (ReaderT e m)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassBind m => Bind (ReaderT e m)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassConclude m => Conclude (ReaderT r m)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.ConcludeDecide m => Decide (ReaderT r m)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideDivise m => Divise (ReaderT r m)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DivisePlus f => Plus (ReaderT e f)Defined in semigroupoids-6.0.1 · Data.Functor.PlusRepresentable m => Representable (ReaderT e m)Defined in adjunctions-4.4.3 · Data.Functor.RepInvariant m => Invariant (ReaderT r m)Defined in invariant-0.6.4 · Data.Functor.Invariantfrom the
transformerspackageSelective f => Selective (ReaderT env f)Defined in selective-0.7.0.1 · Control.SelectiveIndexable m => Indexable (ReaderT e m)Defined in keys-3.12.3 · Data.KeyKeyed m => Keyed (ReaderT e m)Defined in keys-3.12.3 · Data.KeyLookup m => Lookup (ReaderT e m)Defined in keys-3.12.3 · Data.KeyZip m => Zip (ReaderT e m)Defined in keys-3.12.3 · Data.KeyZipWithKey m => ZipWithKey (ReaderT e m)Defined in keys-3.12.3 · Data.KeyPointed m => Pointed (ReaderT r m)Defined in pointed-5.0.4 · Data.PointedFunctorWithIndex i m => FunctorWithIndex (e, i) (ReaderT e m)Defined in indexed-traversable-0.1.4 · WithIndexAdjunction w m => Adjunction (EnvT e w) (ReaderT e m)Defined in adjunctions-4.4.3 · Data.Functor.AdjunctionGeneric (ReaderT r m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Readertype Rep (ReaderT r m a) = D1 ('MetaDataDefined in transformers-0.6.1.1 · Control.Monad.Trans.Reader"ReaderT"
"Control.Monad.Trans.Reader"
"transformers-0.6.1.1-a11a"
'True) (C1 ('MetaCons"ReaderT"
'PrefixI 'True) (S1 ('MetaSel ('Just"runReaderT"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (r -> m a))))type Rep1 (ReaderT r m) = D1 ('MetaDataDefined in transformers-0.6.1.1 · Control.Monad.Trans.Reader"ReaderT"
"Control.Monad.Trans.Reader"
"transformers-0.6.1.1-a11a"
'True) (C1 ('MetaCons"ReaderT"
'PrefixI 'True) (S1 ('MetaSel ('Just"runReaderT"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (FUN 'Many r :.: Rec1 m)))type PrimState (ReaderT r m) = PrimState mDefined in primitive-0.9.1.0 · Control.Monad.Primitivetype Rep (ReaderT e m) = (e, Rep m)Defined in adjunctions-4.4.3 · Data.Functor.Reptype Key (ReaderT e m) = (e, Key m)Defined in keys-3.12.3 · Data.Key
Lift a catchE operation to the new monad.