lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]



On 09/07/14 09:25 PM, Coroutines wrote:
On Wed, Jul 9, 2014 at 5:20 PM, Rena <hyperhacker@gmail.com> wrote:

I forgot to mention, my personal biggest pet peeve of Lua is none of what OP
mentioned: it's inconsistent metatable honouring in the C API. I understand
5.2 and 5.3 have improved some of this but it's still an issue sometimes.
E.g. lua_isstring/lua_tostring/table.concat not honouring __tostring,
lua_rawseti but no lua_seti. I've been bit by these a few times before.
You have all my agrees.

Another thing that seemed pretty arbitrary is that __index can be a
table.  That table can have a metatable.  But the __index of that
table that is the first __index cannot have a metatable.  I just
expect things like that to recurse, instead of being a
first-level-only trigger.  The same for __newindex.

I also wish __length could be a number for the odd case, requiring it
being a function can be wasteful.

I also wish you could point __ipairs/__pairs at a sequence to use for
keys on the `self'.  It would be easy as hell to push some object from
C as userdata, then pair a Lua sequence with it to use as the keys for
ipairs or pairs.  I have to make my own generator for that... c'est la
vie

I miss newproxy() aka raw(s/g)et-safe proxies...