Control.Monad proposal: Add whenJust

Ian Lynagh ian at
Sat May 18 16:08:33 CEST 2013

On Wed, May 15, 2013 at 10:40:45PM +0200, Bas van Dijk wrote:
> On 15 May 2013 18:14, Edward Kmett <ekmett at> wrote:
> > Personally, I'd be all for just moving Foldable (and Traversable) into the
> > Prelude and retiring the monomorphic versions of the functions they supply.

I'd prefer to remove the monomorphic functions, but not to add anything
to Prelude.

It seems odd to me that some functions (e.g. mapM) are implicitly
available, while for others (forM, mapAccumL, etc) you need an import.
It would make more sense to me to move towards a situation where nothing
(or at least, much less) is in scope by default.

If taken to extremes, interactive environments like ghci might choose to
have more things in scope by default.


More information about the Libraries mailing list