[Haskell-cafe] Comments from OCaml Hacker Brian Hurt

Jonathan Cast jonathanccast at fastmail.fm
Thu Jan 15 16:21:57 EST 2009

On Thu, 2009-01-15 at 09:34 -0600, John Goerzen wrote:
> Hi folks,
> Don Stewart noticed this blog post on Haskell by Brian Hurt, an OCaml
> hacker:
> http://enfranchisedmind.com/blog/2009/01/15/random-thoughts-on-haskell/
> It's a great post, and I encourage people to read it.  I'd like to
> highlight one particular paragraph:
>   One thing that does annoy me about Haskell- naming. Say you've
>   noticed a common pattern, a lot of data structures are similar to
>   the difference list I described above, in that they have an empty
>   state and the ability to append things onto the end. Now, for
>   various reasons, you want to give this pattern a name using on
>   Haskell's tools for expressing common idioms as general patterns
>   (type classes, in this case). What name do you give it? I'd be
>   inclined to call it something like "Appendable". But no, Haskell
>   calls this pattern a "Monoid". Yep, that's all a monoid is-
>   something with an empty state and the ability to append things to
>   the end. Well, it's a little more general than that, but not
>   much. Simon Peyton Jones once commented that the biggest mistake
>   Haskell made was to call them "monads" instead of "warm, fluffy
>   things". Well, Haskell is exacerbating that mistake. Haskell
>   developers, stop letting the category theorists name
>   things. Please. I beg of you. 
> I'd like to echo that sentiment!

No.  Never.  We will fight in the mailing lists.  We will fight in the
blog posts.  We will never surrender.

Where, in the history of western civilization, has there ever been an
engineering discipline whose adherents were permitted to remain ignorant
of the basic mathematical terminology and methodology that their
enterprise is founded on?  Why should software engineering be the lone

No one may be a structural engineer, and remain ignorant of physics.  No
one may be a chemical engineer, and remain ignorant of chemistry.  Why
on earth should any one be permitted to be a software engineer, and
remain ignorant of computing science?


More information about the Haskell-Cafe mailing list