lua-users home
lua-l archive

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



> On Mar 14, 2018, at 11:24 AM, Roberto Ierusalimschy <roberto@inf.puc-rio.br> wrote:
> 
> Once 'empty' and 'undef' are values, you break all those properties.
> 
> I think we cannot use a value to represent the absence of a value, no
> matter how many no-value values we add. It is a contradiction. Several
> languages followed this path, always with bad results.
> 
> -- Roberto
> 

I agree with this argument 100% *IF* you take the position that “#” must be a computed, rather than a declared, property of a table. As you note we’ve all argued this multiple times here, and I’m not going to re-open this again, but I’ve never quite understood the arguments against letting “#’ be declarative (which solves all the problems you note while keeping tables sparse and avoiding the need for “undef”).

—Tim