<div dir="ltr">Yeah, sorry, should have provided an example to begin with.<div><br></div><div>Let's say you have a function "thisFold :: (a -> a -> a) -> [a] -> a"</div><div><br></div><div>and it says that the function 'f' passed in must be associative.</div><div><br></div><div>Then it goes on to use f in "thisFold f [0,1,2]" like "f (1 (f 0 2))". Obviously f is still associative, but 'thisFold' did not call f 'associatively' on the data. My question is if there is a name for what property this broke by not calling f 'associatively'.</div><div><br></div><div>Does that make sense?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 23, 2015 at 11:21 AM, Francesco Ariis <span dir="ltr"><<a href="mailto:fa-ml@ariis.it" target="_blank">fa-ml@ariis.it</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Fri, Oct 23, 2015 at 10:26:08AM -0400, Charles Durham wrote:<br>
> Is there a name for a fold that promises to call a function such that only<br>
> an associative function will always return the same result. Or in other<br>
> words, it has the property that it promises to call a function<br>
> "associatively" on a set of data?<br>
<br>
</span>I am not sure I am understanding the question correctly. Every Monoid has a<br>
single binary operation which happens to be associative and one of<br>
the basic fold functions has signature<br>
<br>
    foldMap :: (Foldable t, Monoid m) => (a -> m) -> t a -> m<br>
<br>
(which does what you expect). Does that answer your question? If not,<br>
I'd be grateful if you would provide an example.<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
</blockquote></div><br></div>