mapM /= traverse?

Simon Marlow marlowsd at
Tue May 12 08:04:19 UTC 2015

On 12/05/2015 04:33, Kim-Ee Yeoh wrote:
> On Tue, May 12, 2015 at 2:15 AM, Simon Marlow <marlowsd at
> <mailto:marlowsd at>> wrote:
>     Unfortunately since I want mapM = traverse (for Haxl) I'll need to
>     continue to redefine it in our custom Prelude.
> Apologies if I'm missing context, but what about replacing mapM with
> traverse in the source code?
> What problems do the additional polymorphism create?

We could do that, but this is a DSL we provide to users who are in most 
cases not native Haskell programmers and the idea is to keep things as 
simple as possible.  So we wanted to standardise on either mapM or 
traverse, and since mapM is more familiar (and appears in books etc.) we 
went with mapM.  I'd also been assuming that the issue would go away in 
7.10 because mapM would be equivalent to traverse.


More information about the Libraries mailing list