|
- module Shared (
- defRunMaybeT, (<$$>), MaybeT(..), ifF, ifM, (<:), (<->)
- ) where
-
- import Data.Maybe
- import Control.Monad.Trans.Maybe
-
- defRunMaybeT :: Monad m => a -> MaybeT m a -> m a
- defRunMaybeT defValue m = fromMaybe defValue <$> runMaybeT m
-
- (<$$>) :: (Functor f, Functor g) => (a -> b) -> f (g a) -> f (g b)
- (<$$>) = fmap . fmap
-
- ifF :: Bool -> a -> a -> a
- ifF cond x y = if cond then x else y
-
- ifF' :: a -> a -> Bool -> a
- ifF' x y cond = if cond then x else y
-
- ifM :: Monad m => m Bool -> m a -> m a -> m a
- ifM cond m1 m2 = cond >>= ifF' m1 m2
-
- (<:) :: Monad m => m Bool -> m a -> m a -> m a
- (<:) = ifM
-
- (<->) :: (a -> b) -> a -> b
- (<->) = ($)
|