4 ms·
> that statement is true for any statically typed language. It's a spectrum! The awesome part about Haskell is that you can assume functions are deterministic
by seagreen 9y ago
> that statement is true for any statically typed language.
It's a spectrum!
The awesome part about Haskell is that you can assume functions are deterministic and don't do IO unless they declare otherwise in the type signature. This is really a huge deal. I like statically typed imperative languages, but there's a big difference in expressiveness between a crude type signature like `String -> String` and something more fine grained like `URL -> IO ResponseBody`.
That said, Haskell has lots of downsides (many of which have been addressed in the last few years, some of which have not) so it's not a perfect language by any means. But it is very readable and refactorable.