Hoogle Search
Within LTS Haskell 24.52 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
withReaderT :: forall r' r (m :: Type -> Type) a . (r' -> r) -> ReaderT r m a -> ReaderT r' m acan-i-haz Control.Monad.Reader.Has Execute a computation in a modified environment (a more general version of local).
runReaderT (withReaderT f m) = runReaderT m . f
class (Monad m, HasSource tag r m) =>
HasReader (tag :: k) r (m :: Type -> Type) | tag m -> rcapability Capability.Reader Reader capability An instance should fulfill the following laws. At this point these laws are not definitive, see https://github.com/haskell/mtl/issues/5.
k <*> ask @t = ask @t <**> k
ask @t *> m = m = m <* ask @t
local @t f (ask @t) = fmap f (ask @t)
local @t f . local @t g = local @t (g . f)
local @t f (pure x) = pure x
local @t f (m >>= \x -> k x) = local @t f m >>= \x -> local @t f (k x)
reader @t f = f <$> ask @t
type
HasReader' (tag :: k) = HasReader tag TypeOf k tagcapability Capability.Reader Type synonym using the TypeOf type family to specify HasReader constraints without having to specify the type associated to a tag.
newtype
MonadReader (m :: Type -> Type) acapability Capability.Reader Derive HasSource from m's MonadReader instance.
MonadReader :: m a -> MonadReader (m :: Type -> Type) acapability Capability.Reader No documentation available.
newtype
MonadReader (m :: Type -> Type) acapability Capability.Source Derive HasSource from m's MonadReader instance.
MonadReader :: m a -> MonadReader (m :: Type -> Type) acapability Capability.Source No documentation available.
-
cauldron Cauldron.Args Imprecise exception that might lie hidden in the result of runArgs, if the Beans map lacks a value for some type demanded by the Args. Why not make runArgs return a Maybe instead of throwing an imprecise exception? The answer is that, for my purposes, using Maybe or Either caused undesirable strictness when doing weird things like reading values "from the future".
>>> :{ try @LazilyReadBeanMissing $ evaluate $ runArgs (taste Cauldron.Beans.empty) (arg @Int) :} Left (LazilyReadBeanMissing Int)If more safety is needed, one can perform additional preliminary checks with the help of getArgsReps. LazilyReadBeanMissing :: TypeRep -> LazilyReadBeanMissingcauldron Cauldron.Args No documentation available.
alreadyInlined :: Id -> Id -> NormalizeMonad (Maybe Int)clash-lib Clash.Normalize.Util Determine if a function is already inlined in the context of the NetlistMonad