Hoogle Search

Within LTS Haskell 24.28 (ghc-9.10.3)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. stimesIdempotentMonoid :: (Integral b, Monoid a) => b -> a -> a

    base-compat-batteries Data.Semigroup.Compat

    This is a valid definition of stimes for an idempotent Monoid. When x <> x = x, this definition should be preferred, because it works in <math> rather than <math>

  2. stimesMonoid :: (Integral b, Monoid a) => b -> a -> a

    base-compat-batteries Data.Semigroup.Compat

    This is a valid definition of stimes for a Monoid. Unlike the default definition of stimes, it is defined for 0 and so it should be preferred where possible.

  3. unwrapMonoid :: WrappedMonoid m -> m

    base-compat-batteries Data.Semigroup.Compat

    No documentation available.

  4. outputToIOMonoid :: forall o m (r :: EffectRow) a . (Monoid m, Member (Embed IO) r) => (o -> m) -> Sem ((Output o :: (Type -> Type) -> Type -> Type) ': r) a -> Sem r (m, a)

    polysemy Polysemy.Output

    Run an Output effect in terms of atomic operations in IO. Internally, this simply creates a new IORef, passes it to runOutputMonoidIORef, and then returns the result and the final value of the IORef. Beware: As this uses an IORef internally, all other effects will have local state semantics in regards to Output effects interpreted this way. For example, throw and catch will never revert outputs, even if runError is used after outputToIOMonoid.

  5. outputToIOMonoidAssocR :: forall o m (r :: EffectRow) a . (Monoid m, Member (Embed IO) r) => (o -> m) -> Sem ((Output o :: (Type -> Type) -> Type -> Type) ': r) a -> Sem r (m, a)

    polysemy Polysemy.Output

    Like outputToIOMonoid, but right-associates uses of <>. This asymptotically improves performance if the time complexity of <> for the Monoid depends only on the size of the first argument. You should always use this instead of outputToIOMonoid if the monoid is a list, such as String. Beware: As this uses an IORef internally, all other effects will have local state semantics in regards to Output effects interpreted this way. For example, throw and catch will never revert outputs, even if runError is used after outputToIOMonoidAssocR.

  6. runLazyOutputMonoid :: forall o m (r :: [(Type -> Type) -> Type -> Type]) a . Monoid m => (o -> m) -> Sem ((Output o :: (Type -> Type) -> Type -> Type) ': r) a -> Sem r (m, a)

    polysemy Polysemy.Output

    Run an Output effect by transforming it into a monoid, and accumulate it lazily. Warning: This inherits the nasty space leak issue of WriterT! Don't use this if you don't have to.

  7. runLazyOutputMonoidAssocR :: forall o m (r :: [(Type -> Type) -> Type -> Type]) a . Monoid m => (o -> m) -> Sem ((Output o :: (Type -> Type) -> Type -> Type) ': r) a -> Sem r (m, a)

    polysemy Polysemy.Output

    Like runLazyOutputMonoid, but right-associates uses of <>. This asymptotically improves performance if the time complexity of <> for the Monoid depends only on the size of the first argument. You should always use this instead of runLazyOutputMonoid if the monoid is a list, such as String. Warning: This inherits the nasty space leak issue of WriterT! Don't use this if you don't have to.

  8. runOutputMonoid :: forall o m (r :: [(Type -> Type) -> Type -> Type]) a . Monoid m => (o -> m) -> Sem ((Output o :: (Type -> Type) -> Type -> Type) ': r) a -> Sem r (m, a)

    polysemy Polysemy.Output

    Run an Output effect by transforming it into a monoid.

  9. runOutputMonoidAssocR :: forall o m (r :: [(Type -> Type) -> Type -> Type]) a . Monoid m => (o -> m) -> Sem ((Output o :: (Type -> Type) -> Type -> Type) ': r) a -> Sem r (m, a)

    polysemy Polysemy.Output

    Like runOutputMonoid, but right-associates uses of <>. This asymptotically improves performance if the time complexity of <> for the Monoid depends only on the size of the first argument. You should always use this instead of runOutputMonoid if the monoid is a list, such as String.

  10. runOutputMonoidIORef :: forall o m (r :: EffectRow) a . (Monoid m, Member (Embed IO) r) => IORef m -> (o -> m) -> Sem ((Output o :: (Type -> Type) -> Type -> Type) ': r) a -> Sem r a

    polysemy Polysemy.Output

    Run an Output effect by transforming it into atomic operations over an IORef.

Page 27 of many | Previous | Next