I don't know why you want to call that a "loop", but, sure, you do you, you crazy imperative programmers.
edit: Sigh. I was jockingly mocking.
How did he solve the iteration problem? A for loop is just syntactic sugar for a while loop.
> why are you drawn to Haskell?
I just want my programs to work. I've seen too many null pointer exceptions and other runtime errors. Runtime errors = bad. Compile errors = good.
Me too ...
And I think imperative languages are way more easy and clear to read and write.
I allways imagined that you have to be a math nerd to prefer Haskell, but apparently this guy is not a math guy, but loves Haskell .. so ok, good counterpoint.
Because it's what you've had exposure to. Perhaps, they're even objectively easier to read and write, I don't know. It's also completely besides my point.
My point was that I want my programs to work as desired. That's orthogonal to how easy it is to read and write. I don't want runtime exceptions where I could've gotten a compile-time error.
And null pointer exceptions? They only happen to me very rarely, when I quickly hack something together and then it is a "oh forgot - and fixed" problem. The problems I do struggle with are non reproducable race condition fun etc. and I doubt haskell could help me with them. Or I struggle, because I do not really understand my problem, or a certain libary ... or, because I misunderstood existing code.
So how on earth are correct programms orthogonal to how easy it is to read and write them?!? Did you ever had to use someone else code? Or your own that you wrote 5 years ago (or sometimes 5 days)?
With any bigger project it is all about how easy it is to read and write them.
And you never run into NPEs in production? It's something you always discover during development? How?
> The problems I do struggle with are non reproducable race condition fun etc. and I doubt haskell could help me with them.
In a pure system, thread race conditions are impossible. You can still get race conditions for your external effects, which is unavoidable.