<div dir="ltr"><div><div><div><div><div><div><div><div><div>Here's the gist of what I'm thinking, which may or may not actually completely make sense:<br><br></div>class Foldable f => FoldableMP f a where<br></div>  sum :: ...<br></div>  product :: ...<br></div>  asum :: ...<br></div>  elem :: ...<br></div>  traverse_ :: ...<br></div>  maximum :: ...<br></div>  minimum :: ...<br></div>  find :: ...<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 5, 2014 at 11:42 AM, David Feuer <span dir="ltr"><<a href="mailto:david.feuer@gmail.com" target="_blank">david.feuer@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>The current definition is "biased", using foldr and <|> instead of foldMap and the new Alt. This is a bit awkward in the post-BBP world, but we also don't want to just debias it across the board, because if the Foldable is holding lists, the debiased version will be very bad.<br><br>More generally, there are a number of Foldable members that are very awkward, pleading for MPTC, because the sane implementations depend on both the container type and the element type. I know we're pushing right up against the deadline for 7.10.1, but the current situation is making me very nervous.<span class="HOEnZb"><font color="#888888"><br><br></font></span></div><span class="HOEnZb"><font color="#888888"><div>David<br></div></font></span></div>
</blockquote></div><br></div>