|
For the moment, if some particular Lua users replace "module" with a custom version more adapted to its environment (for example in some project I'd like "module" not to set the global tables, only register the module in package.loaded), Lua modules will still work with that environment, but binary modules may fail to. Calling "module" will ensure that the code provided by the user get called, the code necessary to adapt the module to the new environment "from the inside".
I've been meaning to ask this for some time, but there are a number of concerns on the http://lua-users.org/wiki/LuaDesignPatterns page, namely the pollution of the global namespace by the module system, and the package.seeall flag which gives us the odd effect: local someModule = require("someModule") local one = someModule.math.floor(1.4) Is there any chance of these being made a bit more friendly, perhaps not setting the globals unless specified somewhere?