|
|
|
|
|
by pdkl95
3193 days ago
|
|
While a good standard library would help, the fundamental problem (undecidability) still exists. You could build a system that is understandable if you only use calls into a (presumably proven/tested to be safe) standard library. At that point it would de facto be a declarative language, which is decidable iff the grammar is not Turing complete[1]. It's limiting, but you can still have many of the fancier features by baking standard versions of them into the language/stdlib itself. > I believe people in the space are cognizant of them and are working on solutions. The problem with that is that this isn't a bug or engineering problem that we can solve with impossibly talented devs and a sufficiently large r&d budget. Questions about any non-trivial semantic behavior of a program (such as, "will the program halt"[2]) are known[3] too be undecidable[4]. [1] according to LangSec, the grammar needs to be deterministic context-free (or simpler). Anything more complex is undecidable. [2] https://en.wikipedia.org/wiki/Halting_problem [3] https://en.wikipedia.org/wiki/Rice%27s_theorem [4] https://en.wikipedia.org/wiki/Undecidable_problem |
|