box-0.0.1.5: boxes

Safe HaskellNone
LanguageHaskell2010

Box.Committer

Description

Synopsis

Documentation

newtype Committer m a Source #

a Committer a "commits" values of type a. A Sink and a Consumer are some other metaphors for this.

A Committer absorbs the value being committed; the value disappears into the opaque thing that is a Committer from the pov of usage.

Constructors

Committer 

Fields

Instances
Contravariant (Committer m) Source # 
Instance details

Defined in Box.Committer

Methods

contramap :: (a -> b) -> Committer m b -> Committer m a #

(>$) :: b -> Committer m b -> Committer m a #

Applicative m => Divisible (Committer m) Source # 
Instance details

Defined in Box.Committer

Methods

divide :: (a -> (b, c)) -> Committer m b -> Committer m c -> Committer m a #

conquer :: Committer m a #

Applicative m => Decidable (Committer m) Source # 
Instance details

Defined in Box.Committer

Methods

lose :: (a -> Void) -> Committer m a #

choose :: (a -> Either b c) -> Committer m b -> Committer m c -> Committer m a #

Applicative m => Semigroup (Committer m a) Source # 
Instance details

Defined in Box.Committer

Methods

(<>) :: Committer m a -> Committer m a -> Committer m a #

sconcat :: NonEmpty (Committer m a) -> Committer m a #

stimes :: Integral b => b -> Committer m a -> Committer m a #

Applicative m => Monoid (Committer m a) Source # 
Instance details

Defined in Box.Committer

Methods

mempty :: Committer m a #

mappend :: Committer m a -> Committer m a -> Committer m a #

mconcat :: [Committer m a] -> Committer m a #

liftC :: MonadConc m => Committer (STM m) a -> Committer m a Source #

lift a committer from STM

cmap :: Monad m => (b -> m (Maybe a)) -> Committer m a -> Committer m b Source #

This is a contramapMaybe, if such a thing existed, as the contravariant version of a mapMaybe. See witherable

handles Source #

Arguments

:: Monad m 
=> ((b -> Constant (First b) b) -> a -> Constant (First b) a) 
-> Committer m b 
-> Committer m a 

prism handler