[Haskell] Types of when and unless in Control.Monad
iavor.diatchki at gmail.com
Wed Jun 6 00:12:02 CEST 2012
-1 for me too, for the reasons already discussed in the thread (i.e.,
because it makes it easy to accidentally ignore potentially important
results). I think that gains in readability from this generalization are
at best questionable.
On Tue, Jun 5, 2012 at 2:07 PM, Andres Löh <andres at well-typed.com> wrote:
> > Btw. the mapM memory leak can be easily and accidentally resurrected by
> > writing
> > when_ b (mapM f xs)
> > with
> > f :: a -> m ()
> > when_ :: Bool -> m a -> m ()
> I don't understand the whole mapM analogy (yet). I don't need when_ to
> get into trouble with using mapM. Also, whether a space leak with mapM
> arises or not typically doesn't depend on whether you use its result
> or not. It's the other way round: if you run mapM on a huge list but
> aren't interested in the results, then you should use mapM_ instead.
> So the problem here is accidentally producing a (large) result rather
> than accidentally ignoring it.
> Andres Löh, Haskell Consultant
> Well-Typed LLP, http://www.well-typed.com
> Libraries mailing list
> Libraries at haskell.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Libraries