
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 :-) -k -- If I haven't seen further, it is by standing in the footprints of giants