Comment by quietplatypus
10 years ago
This is why I love Haskell---the check, though approximate, is built in to the language as the type checker. Pair it up with the speed Haskell coder's best friend, "undefined", and you can be just 40 characters into writing part of a method and check it right there on the spot, getting into a good flow.
I see that appeal of Haskell, and I think the strict focus on typing does catch many possible bugs... but I don't think it catches all the types of bugs that an actual unit test would, so I'm almost afraid that it's leaned on a bit too much.
> but I don't think it catches all the types of bugs that an actual unit test would
You are correct. Likewise types can catch some bugs that unit tests cannot.
There is always a unit test which could catch any type mismatch. The problem is that every type declaration implies a set of unit tests (probably an unbounded set!) and in practice it's not likely you'll actually write enough of them.