I haven't played with it at all, but the writeup looks promising. Moving a bunch of things into the type system and out of runtime crashes is one of the ways we make progress.
I think this is wrong. Type systems should be simpler, and you should design it so that your language is easily and correctly statically checked. Not all invariants necessarily have to be verified at the same cadence (compile time)
We understand that static analysis is often less bulletproof than a compiler's type system. It doesn't always catch everything. If it does, it often says "may", and then you have to sort out the false positives from the real problems, and there can be a lot of them.
And if you don't take every problem seriously, and do a full investigation, then you are risking a real problem that you don't fix, which can turn into... a runtime crash.
AnimalMuppet · · focus · HN ↗
dnautics · · focus · HN ↗
classified · · focus · HN ↗
dnautics · · focus · HN ↗
Do you not understand what static analysis is?
AnimalMuppet · · focus · HN ↗
And if you don't take every problem seriously, and do a full investigation, then you are risking a real problem that you don't fix, which can turn into... a runtime crash.
dnautics · · focus · HN ↗