3 ms·
lisper messes around with Haskell and feels he understands the entire Haskell community well enough to smear it. After admitting to not understanding Haskell th
by gregwebs 16y ago
lisper messes around with Haskell and feels he understands the entire Haskell community well enough to smear it. After admitting to not understanding Haskell that well he now writes a second post doing the same thing.
Most haskellers that are serious about using it to create real world software don't seem to care a great deal about the mathematical side except for the occasions it is useful in their program.
Haskell is about writing safe, efficient, and high level functional code. The fact that some users can tinker with the mathematical side (correctly or incorrectly) is just a bonus.
- neutronicus 16y agoIt is sort of ironic coming from a lisper - the raised hackles of comp.lang.lisp about this sort of thing are pretty legendary. I don't really want to talk about agreeing or disagreeing with the post, because if ever a discussion were going nowhere fast, that's the one.
- mycroftiv 16y agoI don't support the accusatory tone of the original post, but in view of this clarification, I believe the author does have a real point. The discipline of mathematics has a lot of prestige, especially in the programming community. By making use of mathematical concepts and vocabulary, Haskell has acquired a reputation as being particularly elegant and sharing in the conceptual beauty of very abstract mathematics. I struggle to understand category theory, and I struggle to understand Haskell, and I always assumed that my difficulty in precisely mapping concepts like monads between the two were because I just wasn't smart enough. (That is almost certainly the case regardless!) If thinking about the formal definition of monads isn't helpful when learning Haskell programming, is the use of mathematical terminology misleading?
- lincolnq 16y agoThis is an astute summary. Yes, it is misleading, but such is the way of language growth: when transferring concepts from one language to another, sometimes meaning is permanently mutated or lost. Consider French "journée" and English "journey". The English word is a direct loanword from French, but in French it means "day" or "a day's work" and in English it means "a set amount of travelling". The etymology is fairly natural, but the English word only captures a fragment of the French meaning. I think the analogy applies to monads as well: the word denotes/connotes something significantly different in Haskell than in mathematics. It's just the way it is. When learning Haskell, if you already know category theory you can use this knowledge to ease your understanding of the Haskell concept, but it's not a direct translation.
- chancho 16y agoPeople can disagree on the precise definition of terminology, which is why, in any serious discourse, you have to define things before you begin discussion. The great thing about Haskell (or any programing language) is that you really have to define things. Jargon doesn't compile. Nevermind the "real" definition of this or that esoteric concept. If you ask N category theorists you'll get N answers. Just import one that works for you and you're off. What seems to have gotten this fellow is that either the definitions in the Prelude/libraries didn't match his expectation, or (more likely) he was surprised by the inconsistencies between GHC and GHCi (which I also find annoying.)
- reikonomusha 16y ago> After admitting to not understanding Haskell that well he now writes a second post doing the same thing. Are you admitting you didn't read either posts?