
On 15 Oct 2007, at 5:41 am, jerzy.karczmarczuk@info.unicaen.fr wrote:
But, when J. Vimal "threateneds us" to throw away Haskell, complained about monads, and most people confirmed that the underlying theory is difficult, ugly, and useless, I began to read those postings with attention, since I disagree with spreading such atmosphere. And A.C. additionally wrote that all this theory has nothing to do with Haskell, and submitted three more postings, one more dubious than the other, I found that a warning seems suitable, not for him, but for his readers!
I hope we can agree on several things here: (1) The mathematical background of Haskell is one of the things that makes Haskell a beautiful and useful programming language. It may even be one of the most important factors. (2) The mathematical background of Haskell is extremely important for implementations. Some important data structures and techniques are practical in large part because of the kinds of optimisations that are only straightforward in a language that has such foundations. (3) Beginners do not need to understand all the mathematics behind Haskell to use it. I really really hope we can agree on the next two points: (4) It is not unfair to describe "Category Theory" as "The mathematical study of sound analogies between mathematical structures"; it leads to concepts of great generality and power, and encourages a consistent use of terminology which makes it easier to transfer ideas and techniques from one area of mathematics to another. It's about *consistently* pushing generality rather hard. (5) Precisely because it seeks generality, category theory seems difficult to "concrete thinkers". And books on category theory tend to be extremely fast-paced, so ideas which are not in themselves particularly esoteric (which may in fact be eminently practical) tend to be presented in a way which people trying to study by themselves have trouble with. So people can be scared off by what _ought_ to be a big help to them.