3 ms·
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
by kaba0 3y ago
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).
- zozbot234 3y agoIt'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.)
- kaba0 3y agoLifetimes only work because they are very restrictive - the moment you can’t decide that you end up with a non-safe language.
- mjburgess 3y agoSoundness, 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
- kaba0 3y agoThen 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.
- zozbot234 3y agoRust has an unsafe subset for that 0.001% of tne time you need it.
- steveklabnik 3y ago(Unsafe is a superset, not a subset, incidentally)