Safe Haskell | None |
---|---|
Language | Haskell2010 |
- module Control.Effects
- data Early a
- earlyReturn :: forall a b m. MonadEffect (Early a) m => a -> m b
- handleEarly :: Monad m => ExceptT (Early a) m a -> m a
- onlyDo :: MonadEffect (Early a) m => m a -> m b
- ifNothingEarlyReturn :: MonadEffect (Early a) m => a -> Maybe b -> m b
- ifNothingDo :: MonadEffect (Early a) m => m a -> Maybe b -> m b
- ifLeftEarlyReturn :: MonadEffect (Early c) m => (a -> c) -> Either a b -> m b
- ifLeftDo :: MonadEffect (Early c) m => (a -> m c) -> Either a b -> m b
Documentation
module Control.Effects
earlyReturn :: forall a b m. MonadEffect (Early a) m => a -> m b Source #
Allows you to return early from a function. Make sure you handleEarly
to get the actual
result out.
handleEarly :: Monad m => ExceptT (Early a) m a -> m a Source #
Get the result from a computation. Either the early returned one, or the regular result.
onlyDo :: MonadEffect (Early a) m => m a -> m b Source #
Only do the given action and exit early with it's result.
ifNothingEarlyReturn :: MonadEffect (Early a) m => a -> Maybe b -> m b Source #
ifNothingDo :: MonadEffect (Early a) m => m a -> Maybe b -> m b Source #
ifLeftEarlyReturn :: MonadEffect (Early c) m => (a -> c) -> Either a b -> m b Source #