X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Data%2FFoldable.hs;h=096a3470c71b7f70fb03ad244494b339978cfcfe;hb=242953c875b501e3cf43c49c5b72cb21712944ae;hp=7c34b77f64ae5dfb7cc7ed2a48b203778d979b17;hpb=afe7ed8026edd943550b05f4895c99601207fea5;p=ghc-base.git diff --git a/Data/Foldable.hs b/Data/Foldable.hs index 7c34b77..096a347 100644 --- a/Data/Foldable.hs +++ b/Data/Foldable.hs @@ -59,13 +59,16 @@ import Prelude hiding (foldl, foldr, foldl1, foldr1, mapM_, sequence_, elem, notElem, concat, concatMap, and, or, any, all, sum, product, maximum, minimum) import qualified Prelude (foldl, foldr, foldl1, foldr1) -import Control.Arrow (ArrowZero(..)) import Control.Applicative import Control.Monad (MonadPlus(..)) import Data.Maybe (fromMaybe, listToMaybe) import Data.Monoid import Data.Array +#ifdef __NHC__ +import Control.Arrow (ArrowZero(..)) -- work around nhc98 typechecker problem +#endif + #ifdef __GLASGOW_HASKELL__ import GHC.Exts (build) #endif @@ -182,7 +185,7 @@ for_ :: (Foldable t, Applicative f) => t a -> (a -> f b) -> f () {-# INLINE for_ #-} for_ = flip traverse_ --- | Map each element of a structure to an monadic action, evaluate +-- | Map each element of a structure to a monadic action, evaluate -- these actions from left to right, and ignore the results. mapM_ :: (Foldable t, Monad m) => (a -> m b) -> t a -> m () mapM_ f = foldr ((>>) . f) (return ())