{-# LANGUAGE CPP #-} {-# LANGUAGE ConstraintKinds #-} module Control.Ether.Util ( fmap , MonadApplicative ) where import Prelude hiding (fmap) #if __GLASGOW_HASKELL__ < 710 import qualified Control.Applicative import qualified Control.Monad #else import qualified Prelude #endif #if __GLASGOW_HASKELL__ < 710 fmap :: Monad f => (a -> b) -> f a -> f b fmap = Control.Monad.liftM #else fmap :: Functor f => (a -> b) -> f a -> f b fmap = Prelude.fmap #endif {-# INLINE fmap #-} #if __GLASGOW_HASKELL__ < 710 type MonadApplicative m = ( Control.Applicative.Applicative m , Control.Monad.Monad m ) #else type MonadApplicative = Monad #endif