<br><br><div class="gmail_quote">On Mon, Aug 8, 2011 at 1:56 AM, Henning Thielemann <span dir="ltr">&lt;<a href="mailto:schlepptop@henning-thielemann.de">schlepptop@henning-thielemann.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On <a href="tel:24.07.2011%2022" value="+12407201122" target="_blank">24.07.2011 22</a>:20, Antoine Latter wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Sat, Jul 23, 2011 at 1:41 PM, KC&lt;<a href="mailto:kc1956@gmail.com" target="_blank">kc1956@gmail.com</a>&gt;  wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
It would be easier for beginners to &quot;grok&quot;.<br>
<br>
</blockquote>
<br>
I think that assumes that all beginners have a strong foundation in<br>
algebra. Although it does have the advantage that the names are as<br>
abstract as the class.<br>
</blockquote>
<br></div>
As pointed out earlier in this list, the name of the class and the methods are inconsistent. Monoid refers to a general algebraic structure, whereas mempty and mappend refer to certain instances like lists.</blockquote><div>
<br></div><div>I don&#39;t know what the intention for the names was, but I read them as &quot;syntactic&quot; empty and append, as in the monoid constructs of algebra.  In other words, we construct &quot;words&quot; by &quot;appending&quot; (or &quot;concatenating&quot;) elements of a monoid.  And we have an &quot;empty&quot; word.</div>
<div><br></div><div>This usage is common enough in mathematics.</div><div><br></div><div>After all, if we use the Monoid class interface for a type, we are explicitly using the monoid operations, and not the type&#39;s underlying interpretation for appending words in the type.  Why should the generic monoid operator names reflect the underlying usage?</div>
</div>