<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2015-08-31 21:00 GMT+02:00 David Feuer <span dir="ltr"><<a href="mailto:david.feuer@gmail.com" target="_blank">david.feuer@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><p dir="ltr">The theory of mconcat is that it should handle monoids that need to be summed in some special way. I don't know if anyone actually uses it so, however. Still, Reid is right that the circular dependency sets a very high bar.</p>
<div class="gmail_quote"><div><div class="h5"><br></div></div></div></blockquote><div>I guess the [a] monoid is a good example where using mconcat can make a difference.</div><div><br></div><div>What seems to be an omission is that Dual has no implementation of mconcat. It'd make sense to define 'mconcat = mconcat . reverse' - if the original monoid benefits from a certain order of operations, we should keep the order.</div></div></div></div>