Webanwendung mit FastCGI und Haskell
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

28 řádky
653B

  1. module Shared (
  2. defRunMaybeT, (<$$>), MaybeT(..), ifF, ifM, (<:), (<->)
  3. ) where
  4. import Data.Maybe
  5. import Control.Monad.Trans.Maybe
  6. defRunMaybeT :: Monad m => a -> MaybeT m a -> m a
  7. defRunMaybeT defValue m = fromMaybe defValue <$> runMaybeT m
  8. (<$$>) :: (Functor f, Functor g) => (a -> b) -> f (g a) -> f (g b)
  9. (<$$>) = fmap . fmap
  10. ifF :: Bool -> a -> a -> a
  11. ifF cond x y = if cond then x else y
  12. ifF' :: a -> a -> Bool -> a
  13. ifF' x y cond = if cond then x else y
  14. ifM :: Monad m => m Bool -> m a -> m a -> m a
  15. ifM cond m1 m2 = cond >>= ifF' m1 m2
  16. (<:) :: Monad m => m Bool -> m a -> m a -> m a
  17. (<:) = ifM
  18. (<->) :: (a -> b) -> a -> b
  19. (<->) = ($)