3 ms·
Scala's base caluculus is proven sound! The implemented language as such has minor soundness holes, correct. But you need to resort to "murky" parts (like comb
by still_grokking 5y ago
Scala's base caluculus is proven sound!
The implemented language as such has minor soundness holes, correct. But you need to resort to "murky" parts (like combinations of null, top and bottom types and sub-type relationships between them) to exploit this.
In practice I've never run into any case of this soundness holes. You need to explicitly construct a pathological case. (Just avoid null and you should be safe in any case afik).
This can't be said about things like MyPy or TS. There you run into soundness holes on a daily basis.
OCaml and F# are undecidable? Also because of sub-typing?
And what's the problem with Rust? It doesn't have sub-typing.
The problems with sub-typing in general could go away in the future when algebraic sub-typing catches on.