Unless, of course, you practice TDD. Then you know immediately because you are writing a very specific purpose spelling and grammar checker.
-
-
Tests are not proofs.
1 reply 2 retweets 12 likes -
Neither are types.
5 replies 0 retweets 6 likes -
Replying to @unclebobmartin @jonharrop and
Um. That’s exactly what they are. Perhaps you meant to say “types are only able to prove some things about your code, and I find that less useful than others do, but I see where you’re coming from”
1 reply 0 retweets 19 likes -
Replying to @sebastiangood @jonharrop and
The type is not the proof, it is the statement to be proven by a program. In any case, expressing all necessary behaviors as types is impractical; but as tests is trivial.
3 replies 0 retweets 3 likes -
Replying to @unclebobmartin @sebastiangood and
Further, using types appropriately, has the same practical outcome as writing infinity tests, but with zero effort and zero hindrance. Where is that trade-off exactly?
2 replies 0 retweets 10 likes -
Replying to @dibblego @unclebobmartin and
Of course some things are unprovable in any type system. And tests to prove trivial things are really irritating and unproductive to write. So it’s worth having a mix.
2 replies 0 retweets 1 like -
Replying to @sebastiangood @dibblego and
Sure. Sometimes. Bu the bottom line is that I can write good systems with tests and no static types. I cannot write good systems with static types and no tests.
3 replies 0 retweets 1 like -
Replying to @unclebobmartin @sebastiangood and
Is this system not good? It has no tests. https://github.com/tonymorris/fp-course/blob/master/projects/TicTacToe/idris/TicTacToe.idr …
1 reply 1 retweet 5 likes -
Replying to @dibblego @sebastiangood and
It’s hard for me to tell. Without tests I don’t know what was checked. Without tests I cannot safely make changes.
1 reply 0 retweets 0 likes
The program properties that were checked in this instance, are a strict superset of the properties that you could check with tests. And the margin is not a small one. With types, *I* know what was checked, but here, you do not know. We should fix this, such that you do know.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.