
26 May
2013
26 May
'13
12:38 a.m.
On 22/05/13 08:12 AM, Ian Lynagh wrote: > On Wed, May 22, 2013 at 11:49:29AM +0800, John Lato wrote: >> I suggest that we start a poll for a single, concrete proposal. If the >> poll forum is by email or similar, I further suggest that replies be >> limited strictly to +1/-1. > I think there are 4 things it has been suiggested that we might do: > * Generalise Prelude.mapM etc I've already given my +1 to this proposal, and I'm not likely to change my opinion. I have to say, though, that the "etc" above is a little sneaky. Now that the proposal has been overwhelmingly accepted, can we narrow it down? I can see four different interpretations of the "etc": 0. empty string; 1. "mapM_, sequence, and sequence_"; 2. intersection of exports of Prelude, Foldable, and Traversable, which would include the above and also foldl, foldr, any, all, and, or, sum, product, maximum(By), minimum(By), concat(Map), elem, and notElem; and 3. every existing export of Prelude that can be generalized to Foldable or Traversable, which would be all of the above and then some others like map, filter, length, null, takeWhile, dropWhile, span, break, take, drop, splitAt, and probably some more. It's best if I clarify that I'd be happy with either of the last two answers. I suspect the optimal solution lies somewhere between them.