2 ms·
I know, that's why you say completely backwards things like "masochistic type system". I don't think disagreeing with you makes me ignorant or gives you any sp
by agentultra 13y ago
I know, that's why you say completely backwards things like "masochistic type system".
I don't think disagreeing with you makes me ignorant or gives you any special insight into my knowledge of type systems.
And my statement is only backwards from the perspective of developers who find pleasure in working with such a compiler.
If you want to know the extent of my ignorance I've only used Haskell in so far as to complete various programming exercises and inspecting the source code to xMonad. I was interested enough at one point to find out what all the hype was about. I've watched most of the seminal talks from Peyton-Jones and I've read numerous papers on Hindley-Milner type inference, category theory, monads... and perhaps countless more articles than I care to remember that extoll the virtues of the pain of getting your types right (in fact I think I've read it from numerous sources describing the experience as "pain," but that, "it's worth it").
Weird.
In the end my conclusion, different and ignorant though it is, is that purity is over-rated and not worth the trade-offs. I prefer languages that let me be the judge of what is useful and avoid languages that make broad generalizations about purity, mutability, and types.
I pointed out that your broad claim is unsupported by evidence, and that my personal experience was directly contradictory.
And my experience is directly contradictory to yours. So what?
If we needed hard numbers to settle this I think we will find that the majority of web applications in existence are not written in Haskell. And if we take a survey of developers who build and maintain web applications about whether they would consider switching to Haskell I imagine very few would answer, "Yes." I think they will continue to maintain and develop new features and applications without Haskell and the world will continue to turn.
Yes, as you've pointed out, there are other people out there like you. Sorry, you're in the minority. The vast, vast minority.
There are a plethora of considerations to make when writing web application software. I don't think I've ever stopped and said, "You know, I should wrap all of this in a state transformation monad and combine it the an IO monad and ensure that my entire program passes through my compiler's type-checker." And I write large, eventually consistent data-stores without type checking... and most of the time they work!
I just don't see why type checking up-front is such a huge deal. And believe me or not, I've tried to convince myself.