
* John Goerzen
If you're learning Haskell, which communicates the idea more clearly:
* Appendable
or
* Monoid
I can immediately figure out what the first one means.
I think that's deceptively misleading. Sure, list1 `mappend` list2 is concatenation, of which Appendable is suggestive; but what on earth does it mean to append a number to another number, or append a function to another function? By doing some research, you can find out the answer, but if you start off with a name that means nothing to you, I suspect you'll be less confused than if you start off with a name that seems like it makes sense, but actually doesn't. (Of course, the name of mappend itself doesn't exactly help...)
I guess the bottom line question is: who is Haskell for? Category theorists, programmers, or both? I'd love it to be for both, but I've got to admit that Brian has a point that it is trending to the first in some areas.
I don't really understand why Appendable is specifically a "programmer-friendly" name; it doesn't really have any existing meaning elsewhere in programming languages, for example. -- mithrandi, i Ainil en-Balandor, a faer Ambar