4 ms·
Maybe, but that's not a huge difference, because when working in a language that has monads in it, then one has to get monads (in the same sense that one has to
by bad_user 12y ago
Maybe, but that's not a huge difference, because when working in a language that has monads in it, then one has to get monads (in the same sense that one has to understand iterators in other languages). There's no way around it - thankfully it isn't that complicated, too bad all of these articles flying around make it seem so.
The one humongous difference is that Haskell is non-strict and this changes everything.
- amirmc 12y agoI was going to ask whether 'non-strict' means lazy but I decided to look it up first. I thought others might also find it interesting. https://www.haskell.org/haskellwiki/Lazy_vs._non-strict https://www.haskell.org/haskellwiki/Lazy_vs._non-strict
- thinkpad20 12y agoI think Haskell's purity is a more humongous difference than its non-strictness, at least when you're talking about non-performance-critical applications. Laziness can produce unintuitive behavior in a program, and can make certain things harder, but purity is much more "in your face" as a programmer, and a more significant hurdle to beginners -- or at least, it was to me. I agree, though, that as the programmer becomes more sophisticated, the laziness aspect becomes a more significant difference and, ultimately, probably the biggest reason why Haskell will likely never become truly mainstream. Fortunately, there are promising languages out there which are both pure AND strict, such as Idris, Ur and Manticore.
- dllthomas 12y agoOf course, historically, there's the argument that Haskell's purity was motivated by its non-strictness. "Wearing the hair shirt" and all.
- chriswarbo 12y agoWell, the motivation was to be pure. Non-strictness removed the temptation to extend the language in non-pure ways, either intensionally or accidentally, for the sake of convenience.
- dllthomas 12y agoYou're right, of course. Though if they had cheated, the result probably would have been less interesting.