I wrote the entirety of the Lua version of UMENU and the Lua EMDL to
UMENU converter using obj.method(args).
That's another instance of the problem under the recurring "we want a blessed stdlib" rants: the problem isn't that you did something unidiomatic in Lua, it is that you did it in good faith. You couldn't identify an established normal way of doing common stuff in Lua.
Compare this to Python: in Python, you can do bad stuff: abuse lambdas, use loops where list comprehensions would do, go to ridiculous lengths to reimplement the wheel, etc. But if you do it, the community's reaction to your code would be an emphatic "yuk!", you'd need a lot of bad faith for you to ignore, and your code would be ignored anyway. The possibility to easily discrimiate between idiomatic Python and unidiomatic Python is the key features that lead to the language's wealth of decent libraries, and that Lua misses.
Lua hasn't got this informal quality of making it easy to telling idiomatic and unidiomatic code apart. The reasons, I believe, is lack of incentive, not technical limitations:
- Lua's niche ("you provide the features with your application, Lua provides the glue") makes it possible to succeed without a focus on promoting code reuse.
- Establishing and maintaining a culture of code reuse is hard, time consuming, and academics wouldn't be credited for such hard work, should they do it. Since there's no non-academic legitimate Lua authority, nobody does it.
- If Lua was to compete with Python on the "batteries included" market, its chances of success would be slim. Sure it's marginally cleaner, but it doesn't make a difference for a professional team whose purpose is to make money. Sure it's faster, but CPU-intensive system programming scripts are a narrower niche than most people imagine. Nobody's going to get rich by turning Lua into yet another Perl replacement.
The question behind the stdlib pleas is, could some of the Lua.org's legitimity be rubbed off to a team of volunteers? I haven't seen any clear response from the team about this, but the Linus answer ("show me the code first", and here, "show me your ability to organize and to settle disagreements") would seem appropriate to me.