Remix.run Logo
JimDabell 4 days ago

This is just one aspect of the principle of least power:

https://www.w3.org/DesignIssues/Principles.html#PLP

By restricting the power of a language, you enable it to be used in more ways than just “execute it and see what the result is”.

nyrikki 4 days ago | parent [-]

While i subscribe to the "principle of least power"; Rice's theorem extends to even total functions in finite time. So while you can make choices on what to over/under constrain, you are still stuck with “execute it and see what the result is” in the general case.

Nevermark 4 days ago | parent [-]

The vast majority of code isn't the general case. Very few practical applications legitimately intend to execute halt-undecidable code for instance.

But if the language itself strongly obfuscates (or makes it difficult or impossible to express/guarantee) reliable relationships, you miss out on all the desired, and leveragable, certainty that you still intend.