lua-users home
lua-l archive

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

On 29 May 2018 at 13:53, Roberto Ierusalimschy <> wrote:
>>      Just musings, but... I hope they get in, and I hope that `lua_keyin`
>> as well as the potential hypothetical `lua_keyvalue` include versions that
>> get integers and fields for number / string arguments directly (as well as
>> their raw version), making for a full suite that allows maximum performance
>> and mimics the current Lua C API structure:
>>      [...]
> We have decided that, at least for 5.4, we are not going on with
> the nils-in-table proposal. Although we really like the idea, the
> compatibility problems seem too big. As this message evidentiates again,
> the language would need a lot of extra stuff (metamethods, API calls,
> etc.), even when the option is off.

Thank you for that!

Introducing integers in Lua 5.3 without major compatibility issues was
an amazing design and engineering feat, but understandably that's not
something that can be pulled off every time. Throughout its history,
Lua was never afraid to make bold compatibility breaks that have
always led to a much-improved language (scoping rules, metamethods
come to mind). I look forward to a future major release where
nils-in-tables are introduced as cleanly as possible without
compatibility compromises, and at the same time I'm happy that 5.4 is
shaping up to be a very smooth upgrade.

-- Hisham