
And who knows category theory? Almost nobody. If you insist on naming stuff after things that nobody will have heard of and which sound highly technical, you're going to seriously limit your potential audience.
If you insist on naming stuff ad hoc, you're going to seriously limit the appeal of the language for those who care about correctness and mathematical concepts. No matter which way you go, there'll be someone who isn't quite content. But there are already a plethora of languages out there that don't care about correctness. Haskell is one of few languages that cater to the scientific community primarily, and it has come where it is today because of that, of staying true to theory instead of taking the pragmatic approach. That's just one reason I prefer Haskell over all the mainstream languages. Also, you're picking examples that make it sound far worse than it really is. I don't have the least clue about category theory, but knowing what a hylomorphism is (which I don't) is hardly something you need to be a proficient Haskell programmer (which I am). Existential quantification on the other hand, that's really something every programmer should know what it is. Programming is an engineering art, and I wouldn't want my programs to be written by someone uneducated in such matters anymore than I would like my lines fixed by a self-taught electrician. We can and should expect something of the practitioners of our discipline. And we should set the bar accordingly, to induce the will to learn rather than a feeling that you don't need to know. That's not elitism, it's pragmatism, for the improvement of programs and programming. Oh, and I really like the \\= logo, very neat! :-) Cheers, /Niklas