[Haskell-cafe] Comments from OCaml Hacker Brian Hurt

Drew Vogel dvogel at intercarve.net
Thu Jan 15 16:43:41 EST 2009


Lennart Augustsson wrote:
> Why do people think that you should be able to understand everything
> without ever looking things up?
> I'll get back to my example from the comment on the blog post.  If I
> see 'ghee' in a cook book I'll check what it is (if I don't know).  It
> has a precise meaning and next time I'll know.  Inventing a new word
> for it serves no purpose, but to confuse people.
> Parts of Computer Science seem to love to invent new words for
> existing concepts.  Again, I think this just confuses people in the
> long run.  Or use existing words in a different way (like 'functor' in
> C++.)
>   
ghee is ghee. There are variations of ghee, but when a cookbook calls
for ghee, just about any variation will work fine. Furthermore, whenever
a cookbook calls for ghee, you are making food. Conversely a monoid is
an algebraic structure. A Monoid (the type class) is an abstraction used
to ensure that a particular variation of a monoid is actually
representative of a monoid. There are many variations (:i Monoid shows
17 instances). Most are used for different purposes and few are
interchangeable for a given purpose.

Inventing new words definitely serves a purpose; it is a form of
abstraction. We need new words to manage conceptual complexity just as
we build abstractions to manage code complexity. In fact, Monoid was
once a new word that was invented to serve that very purpose.

I don't think the solution to this problem is to rename it to
Appendable. I think the "solution" is to allow programmers to alias
Monoid as Appendable similar to the way you can alias a module when you
imort it. The details of that solution would be very difficult to
introduce though.

Drew P. Vogel


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 250 bytes
Desc: OpenPGP digital signature
Url : http://www.haskell.org/pipermail/haskell-cafe/attachments/20090115/80bdb6c8/signature.bin


More information about the Haskell-Cafe mailing list