|
> You can’t statically check TLA+ types I wish I could someday meet a programmer who's main problem, daily, is that their code won't type check. Otherwise, everything's great! I like type checking, but not because the static type checker helps me write correct code. (When it does, the "bugs" it finds are trivial, at the same level as the syntax checker.) I like type checking because it makes documentation easier, it makes writing code easier (code completion), because it means I can write fewer comments, etc. Not because of "correctness", and since that's the goal of something like TLA+, I haven't (yet) found myself wishing for it. Especially with my experience using Coq, the way TLA+ handles types is a breath of fresh air. Simply lovely. |
But if you look at something like F* or Idris, the types allow extremely rich propositions. I think you’re selling types short, even though they of course are not the answer to all problems.