Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You quickly gets into the undecidable category once you to down that road, which might be fine if you either don’t care about safety, or have runtime checks for that, but none of those were an option for rust (or at least an option that would have made it remotely interesting).


It's undecidable in the general case, but it becomes doable in non-Turing-complete languages that are still expressive enough to be useful for many practical cases. (These languages can express unrestricted recursion as an I/O-like effect that's only available outside the language proper, as part of compiling to a binary.)


Lifetimes only work because they are very restrictive - the moment you can’t decide that you end up with a non-safe language.


Soundness, Completeness, Saftey -- I care about these far less than

Safe, Sound, Complete 99.999% of the time; a joy to use 100% of the time


Then you are not the target audience of a low-level language that supposed to run without a runtime, but still safely. Don’t try to change the tool, when you could just choose a more fitting one.


Rust has an unsafe subset for that 0.001% of tne time you need it.


(Unsafe is a superset, not a subset, incidentally)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: