X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Data%2FTraversable.hs;fp=Data%2FTraversable.hs;h=062d1a0b1ca6de3bbcaf0d21d28f9d551c30fabf;hb=2c764e4266aedeea872abad159db0af62b0f26fb;hp=2bdc1bc26d36566d8b87be30c8d4ac8e841dd72c;hpb=57b9366e5fd3db86719d12b45320e6145b040fa6;p=ghc-base.git diff --git a/Data/Traversable.hs b/Data/Traversable.hs index 2bdc1bc..062d1a0 100644 --- a/Data/Traversable.hs +++ b/Data/Traversable.hs @@ -170,7 +170,10 @@ instance Applicative (StateR s) where mapAccumR :: Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c) mapAccumR f s t = runStateR (traverse (StateR . flip f) t) s --- | This function may be used as a value for `fmap` in a `Functor` instance. +-- | This function may be used as a value for `fmap` in a `Functor` +-- instance, provided that 'traverse' is defined. (Using +-- `fmapDefault` with a `Traversable` instance defined only by +-- 'sequenceA' will result in infinite recursion.) fmapDefault :: Traversable t => (a -> b) -> t a -> t b {-# INLINE fmapDefault #-} fmapDefault f = getId . traverse (Id . f)