3 ms·
Nice username! The strict pragma is not an admission of mistake anymore than any pragma and language extension is an admission of mistake. It's a feature, damm
by Kutta 11y ago
Nice username!
The strict pragma is not an admission of mistake anymore than any pragma and language extension is an admission of mistake. It's a feature, dammit. Also, note that laziness was an exploratory design deicision made 25 years ago, when functional programming in industry flat-out didn't exist, and even 25 years ago there were critics and proponents of laziness, and there were strictly evaluated alternatives, such as ML, so it's quite ridiculous to say that Idris "forced" the Haskell community in any way. I would certainly like if Idris compelled Haskell to go more swiftly towards dependent typing than it's going right now, but that's another story.
I personally prefer strict-by-default evaluation to laziness for production code, (and in turn would prefer total programming with data/codata to that if it existed in a mature language), but laziness has its own place and there are huge numbers of use cases of laziness in Haskell that have been reiterated over and over here and elsewhere. In any case, the situation doesn't warrant the degree of conceit you display.
- haskeldownvot5 11y ago> Nice username! Appropriate given the response any criticism of Haskell elicits. > strict pragma is not an admission of mistake anymore than any pragma and language extension is an admission of mistake. It's a feature, dammit. A feature that likely wouldn't exist without Idris offering such a compelling, strict alternative to Haskell. > I personally prefer strict-by-default evaluation to laziness for production code So would I, which is why I wrote off the language, and why the GHC devs have had to back-peddle and add this pragma.
- dtech 11y agoI rather think the downvoting is based on your inflammatory style, and rather baseless accusations and speculation. I downvoted you because of that, not because I'm some Haskell fanboy who can't handle critique.
- themetrician 11y agoI don't see anything inflammatory about their style. They are just being straightforward and laconic. HN down-voters (the old-timers) are such a sensitive bunch. Students in Mizzou can yell at their professors as they throw their tantrums and no one dares bring them down to civil discourse; be laconic in a HN forum and you get downvoted for not being sensitive to old-timers' feelings.
- lmm 11y agoML is good at what it does but it doesn't offer Haskell's type system. I won't comment on history and I see no value in unpleasantness, but I do think that knowing what we know now, and particularly in the light of Idris, the advantages of laziness are overstated and strict languages (or possibly explicit codata) are the future of programming. And if true, that puts Haskell in an awkward position.
- Kutta 11y agoI don't see why Haskell's in an awkward situation. Adding more strictness support to GHC is not particularly hard and it's happening already. It's far easier to add strictness to GHC than to launch a competitor production-strength pure functional language. (On the long term, probably we'll see a brave new type-theoretical language, when much of the current research crystallizes into something tangible; but until then I don't see GHC being overshadowed by competitors. There is lots of inertia and the extant GHC infrastructure is extremely valuable. Dependent types are very important and adding them to GHC is very hard, but it's still happening, so Idris & co. will have a difficult time trying to fish in that pond)
- AnimalMuppet 11y agoCan someone explain to me what exactly dependent types are that Haskell doesn't already have? I thought Haskell already offered dependent types.
- lmm 11y agoHaskell has some efforts, but IIRC nothing that's as clear and maintainable as just writing a function from types to types like you can do in Idris.
- Drup 11y ago> ML is good at what it does but it doesn't offer Haskell's type system. You can do most of Haskell's type trickery in OCaml though. Some things are much easier in Haskell, but other things are much harder.
- jerf 11y agoIf you want proof the Haskell community is not incapable of criticizing itself, pop over to /r/haskell or something and post something like "If you were the King of Haskell and didn't have to worry about implementation effort, what would you change about Haskell?" You'll get a hundred replies, the vast bulk of which will have some criticism of Haskell in it. What won't happen is that the Haskell community will tell you all about how it regrets not being an imperative language and explain that if they could get away with it they'd switch everything to Java, because it would be so much easier. Haskell is still a language going somewhere. It's one of the most interesting language communities there is, because most other languages are just re-exploring well-covered ground because they're shuffling the same basic primitives around in slightly novel combinations. Rust is also going to be increasingly interesting, I think, as they also have at least one big new primitive, and will have to discover how to use it skillfully, and probably discover other things they need as they go along.