Chris Wong lambda.fairy at
Tue Mar 31 04:27:32 UTC 2015

Both traverse and mapM_ are in the GHC 7.10 Prelude for specific reasons.

mapM_ was already in the Prelude before the AMP proposal, so it was
grandfathered in.

traverse is required for writing Traversable instances.

While it would be useful to have it in the Prelude, traverse_ doesn't
fit either of the motivations above. So I think its omission is
intended here.

On Tue, Mar 31, 2015 at 4:33 PM, Fumiaki Kinoshita <fumiexcel at> wrote:
> Well, I see. It'd be nice.
> That aside, the absence of traverse_ doesn't seem to be intended (even the
> documentation for mapM_ says "mapM_ is just traverse_"!)
> 2015-03-30 16:54 GMT+09:00 Herbert Valerio Riedel <hvr at>:
>> On 2015-03-30 at 07:05:56 +0200, Fumiaki Kinoshita wrote:
>> [...]
>> > I found out that (<>) (in Data.Monoid) is missing, also. It would be
>> > nice
>> > to reexamine Prelude to export things we want to export.
>> Fwiw, (<>) was actually left-out as it wasn't required (it's just a an
>> alias for `mappend`), *and* to keep our options open (or at least not
>> make it more difficult) in terms of possible migration-plans available
>> for the case we'd be moving 'Semigroup' to base/Prelude at some point in
>> the future.
> _______________________________________________
> Libraries mailing list
> Libraries at


More information about the Libraries mailing list