lua-users home
lua-l archive

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


On 4/21/12 10:58 AM, Robert Virding wrote:
I personally think that having things undefined, implementation specific, and still not illegal is a Bad Thing (tm). It is too easy to write something which works and then make a small innocuous change and suddenly it no longer works. Or worse, it "works" but produces the wrong answer which in the worst case you don't see is the wrong answer. Unfortunately those who are hit hardest are those with the least chance of understanding what is wrong and what to do about it: the inexperienced. Telling them that they shouldn't do that is not really helpful.

No, it is worth converting undefined to error generating illegal.

Robert

I read an article about JavaScipt that it has to check for a lot of things whether they are correct - datetime, regexes, etc. Not sure where the article was from, but the idea was that if you want to cover every possible corner, there must be a lot of code, and a lot less options for optimization later (space or speed)

And then I think JavaScript also has a lot of undefined behavior (after reading some other articles - especially when comes to syntax).


----- Original Message -----
On 21 April 2012 14:36, Petite Abeille<petite.abeille@gmail.com>
wrote:

On Apr 20, 2012, at 9:20 AM, Dirk Laurie wrote:

I think you have discovered a bug.  §3.4.8 of the manual states
clearly,
by way of an example, that a table constructor is equivalent to
assignment
of the entries from left to right.

<joke>
Patient: Doctor, doctor, it hurts when I do this.
Doctor: So don't do that.
</joke>

Trivia 1: What's the value of 'a'?

local a, a = 1, 2

print( a )

Undefined, yet really implementation specific

Trivia 2: What's the value of 'a'?

local a

a, a = 1, 2
print( a )


Undefined, yet really implementation specific

Liam