box-0.0.1.5: boxes

Safe HaskellSafe
LanguageHaskell2010

Box.Cont

Synopsis

Documentation

newtype Cont m a Source #

A continuation similar to ContT but where the result type is swallowed by an existential

Constructors

Cont 

Fields

  • with :: forall r. (a -> m r) -> m r
     
Instances
Monad (Cont m) Source # 
Instance details

Defined in Box.Cont

Methods

(>>=) :: Cont m a -> (a -> Cont m b) -> Cont m b #

(>>) :: Cont m a -> Cont m b -> Cont m b #

return :: a -> Cont m a #

fail :: String -> Cont m a #

Functor (Cont m) Source # 
Instance details

Defined in Box.Cont

Methods

fmap :: (a -> b) -> Cont m a -> Cont m b #

(<$) :: a -> Cont m b -> Cont m a #

Applicative (Cont m) Source # 
Instance details

Defined in Box.Cont

Methods

pure :: a -> Cont m a #

(<*>) :: Cont m (a -> b) -> Cont m a -> Cont m b #

liftA2 :: (a -> b -> c) -> Cont m a -> Cont m b -> Cont m c #

(*>) :: Cont m a -> Cont m b -> Cont m b #

(<*) :: Cont m a -> Cont m b -> Cont m a #

MonadIO m => MonadIO (Cont m) Source # 
Instance details

Defined in Box.Cont

Methods

liftIO :: IO a -> Cont m a #

Semigroup a => Semigroup (Cont m a) Source # 
Instance details

Defined in Box.Cont

Methods

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

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

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

(Functor m, Semigroup a, Monoid a) => Monoid (Cont m a) Source # 
Instance details

Defined in Box.Cont

Methods

mempty :: Cont m a #

mappend :: Cont m a -> Cont m a -> Cont m a #

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

newtype Cont_ m a Source #

sometimes you have no choice but to void it up

Constructors

Cont_ 

Fields

  • with_ :: (a -> m ()) -> m ()
     
Instances
Monad (Cont_ m) Source # 
Instance details

Defined in Box.Cont

Methods

(>>=) :: Cont_ m a -> (a -> Cont_ m b) -> Cont_ m b #

(>>) :: Cont_ m a -> Cont_ m b -> Cont_ m b #

return :: a -> Cont_ m a #

fail :: String -> Cont_ m a #

Functor (Cont_ m) Source # 
Instance details

Defined in Box.Cont

Methods

fmap :: (a -> b) -> Cont_ m a -> Cont_ m b #

(<$) :: a -> Cont_ m b -> Cont_ m a #

Applicative (Cont_ m) Source # 
Instance details

Defined in Box.Cont

Methods

pure :: a -> Cont_ m a #

(<*>) :: Cont_ m (a -> b) -> Cont_ m a -> Cont_ m b #

liftA2 :: (a -> b -> c) -> Cont_ m a -> Cont_ m b -> Cont_ m c #

(*>) :: Cont_ m a -> Cont_ m b -> Cont_ m b #

(<*) :: Cont_ m a -> Cont_ m b -> Cont_ m a #

MonadIO m => MonadIO (Cont_ m) Source # 
Instance details

Defined in Box.Cont

Methods

liftIO :: IO a -> Cont_ m a #

Semigroup a => Semigroup (Cont_ m a) Source # 
Instance details

Defined in Box.Cont

Methods

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

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

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

(Functor m, Semigroup a, Monoid a) => Monoid (Cont_ m a) Source # 
Instance details

Defined in Box.Cont

Methods

mempty :: Cont_ m a #

mappend :: Cont_ m a -> Cont_ m a -> Cont_ m a #

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