[Haskell-cafe] Comments from OCaml Hacker Brian Hurt

John Goerzen jgoerzen at complete.org
Thu Jan 15 10:34:38 EST 2009

Hi folks,

Don Stewart noticed this blog post on Haskell by Brian Hurt, an OCaml


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!

He went on to add:

  If you?re not a category theorists, and you're learning (or thinking
  of learning) Haskell, don't get scared off by names like "monoid" or
  "functor". And ignore anyone who starts their explanation with
  references to category theory- you don't need to know category
  theory, and I don't think it helps.

I'd echo that one too.

-- John

More information about the Haskell-Cafe mailing list