On 10 May 2016 at 16:58, Viacheslav Usov <firstname.lastname@example.org
> On Tue, May 10, 2016 at 4:54 PM, Chris Berardi <email@example.com
> > Are you looking for technical reasons or explanations why it may not be in keeping with the general philosophy of the language?
> Let's put it this way: I am looking for some major reasons why it is not there. I know that technically it can be implemented, so that must be philosophical, but I also know that major technical difficulties cannot be ignored.
The main philosophical reason of not having it as part of the language is the philosophy of Lua itself, as written nicely in the book Programming in Lua: "Usually, Lua does not set policies. Instead, Lua provides mechanisms that are powerful enough for groups of developers to implement the policies that best suit them." (http://www.inf.puc-rio.br/~roberto/pil2/chapter15.pdf
The "mechanism" for your "policy" is strict.lua or any other implementation thereof. If you really really need it to be part of the language, feel free to fork (and rename) your Lua implementation, as has been done with RiscLua  (short function syntactic sugar, etc.), Ravi  (adding static typing), or just create a language that compiles to Lua like Moonscript .