4 ms·
I have tried and failed to comprehend Haskell for my own uses. Certainly most of the examples in this article are meaningless gibberish to my smooth, practical
by skywhopper 4y ago
I have tried and failed to comprehend Haskell for my own uses. Certainly most of the examples in this article are meaningless gibberish to my smooth, practical brain. So kudos to those who grok the underlying math and find it a useful language.
That said, I am a fan of lazy evaluation in the right circumstances, and often find myself implementing lazy data structures (particularly in my Ruby programs).
Ultimately, though, I’m confused by this article which seems to be all about removing laziness from Haskell in ways that seem entirely counter to what I take to be its purpose. If you have to bend over backwards and rewrite your code in awkward ways to get the language to behave the way you want, maybe the project itself isn’t right for the language? It’s one thing to hack around a couple of isolated space issues in a larger context, but if you are enabling language extensions across the board by default to prefer eager evaluation, why are you using Haskell at all?
- ParetoOptimal 4y ago> Certainly most of the examples in this article are meaningless gibberish to my smooth, practical brain My smooth practical brain struggles in languages that aren't Haskell.
- daniel-cussen 4y agoI've never heard of or met a circumstance that actually warranted Haskell. Not even in finance, those guys are totally wasting their time. It's an attractive (I'm going to say "it seems" though you ought to take that for granted) intellectual rathole. Like some forms of philosophy, like many things. Thank GOD (despite being unbelieving at the time) I went with Lisp instead. And I got real speedups.
- ParetoOptimal 4y ago> I've never heard of or met a circumstance that actually warranted Haskell. Sounds like you are biased to conclude it has no purpose to begin with.
- benreesman 4y agoAlgorithmic finance might be the most ruthlessly Darwinian area of industrial software, it’s way up there certainly. It’s also notoriously opaque, which makes it especially hard to know that so-and-so is wasting their time. How about “I don’t like Haskell and/or OCaml because X, I recommend Lisp instead because Y” as an alternative formulation? That one I’d be interested to read!
- benreesman 4y agoSome would argue that in retrospect strict should have been the default, I sympathize with that view personally somewhat. But every language that beats Darwin for long enough does so by iterating the stuff that can be “fixed” and developing conventions and tools for the gotchas that can’t (practically) be.
- koala_man 4y agoI would love a strict Haskell, but I don't think functional programming would have been the same today. Laziness was the big motivator for keeping the language uncompromisingly pure, and we may not have developed monads and similar without it.