[Haskell-cafe] Comments from OCaml Hacker Brian Hurt

Ketil Malde ketil at malde.org
Fri Jan 16 04:15:37 EST 2009

On Thu, Jan 15, 2009 at 07:46:02PM +0000, Andrew Coppin wrote:

> If we *must* insist on using the most obscure possible name for  
> everything, 

I don't think anybody even suggests using obscure names.  Some people
insist on precise names.  

The problem is that many Haskell constructs are so abstract and so
general that precise names will be obscure to anybody with no
background in logic (existential quantification), algebra (monoid) or
category theory (monad).  This level of abstraction is a great
benefit, since it allows reuse of code and concepts, but the problem
is internalizing the abstraction and learning to recognize how it
works for different concrete data types.

As pointed out numerouos times, calling Monoids "Appendable" would be
wildly misleading.  But I think the real problem here is learning and
understandig very abstract concepts, not the names.

> can we at least write some documentation that doesn't require a PhD
> to comprehend?  

I agree (with everybody) that documentation is lacking.  Referring to
category theory, logic, or scientific papers is good, but leaving it
at that is pure intellectual terrorism.

Good documentations should: 1. describe the abstraction and 2. list
instances with examples for each.  For extra credit also include a
section with excercises - and I'm only half joking here.

> (Anybody who attempts to argue that "monoid" is not actually an
> obscure term has clearly lost contact with the real world.)

Anybody who calls Monoids "Appendable" has clearly lost contact with
their programming language :-)

If I haven't seen further, it is by standing in the footprints of giants

More information about the Haskell-Cafe mailing list