Burning bridges

Ben Gamari bgamari.foss at gmail.com
Wed May 22 17:16:04 CEST 2013


I'm another from the crowd of silence observers. It seems to me that
we still don't have a fully specified proposal. In particular which
functions are we discussing? Only those from Traversable and Foldable?
map? It would be nice to make this clear with a concrete proposal.

Despite this, here's my 2-pence,

+1  Generalise Prelude.mapM etc
 0  Remove Prelude.mapM etc
-1  Add more monomorphic variants to Prelude (e.g. whenJust)
-1  Nothing

The monomorphic elements of the Prelude are an aesthetic wart and a
significant inconvenience. Being a beginner in the not so distant past,
I am also skeptical that these functions are significantly easier for
beginners to grasp and use.

Concerning removing mapM without replacement: I'd be concerned that
moving such a frequently used function out of the Prelude might be a bit
confusing for beginners. Given the prominence of Monads in Haskell, 
it might be perplexing to find (f)map exported by the Prelude yet not
mapM.

On the note of the mtl's exports, Wren suggests that removing this has
been discussed previously to no avail. My Google-fu might be failing me
but all I've been able to find is this[1] lone message. At the risk of
introducing yet another code-breaking change, is there a reason removing
these re-exports hasn't been discussed further?

Cheers,

- Ben


[1] http://www.haskell.org/pipermail/libraries/2005-December/004666.html



More information about the Libraries mailing list