On Feb 20, 2014, at 8:36 AM, Brendan Eich wrote:

> On Feb 20, 2014, at 8:16 AM, Allen Wirfs-Brock <[email protected]> wrote:
> 
>> Nope, it means that the length of the argument list is less than two, hence 
>> an argument corresponding to 'deleteCount' was not passed.
>> 
>> http://people.mozilla.org/~jorendorff/es6-draft.html#sec-ecmascript-standard-built-in-objects
>>  (para 4) says: "Unless otherwise specified in the description of a 
>> particular function, if a built-in function or constructor is given fewer 
>> arguments than the function is specified to require, the function or 
>> constructor shall behave exactly as if it had been given sufficient 
>> additional arguments, each such argument being the undefined value."
> 
> Note lack of the words "not" and "present" above,
> 
>> So, "is not present" is how handling of missing arguments is "otherwise 
>> specified".
>> 
>> If the algorithm need to simply test for an explicitly or implicitly passed 
>> undefined, it would simply say "If argument is undefined, then ..."
>> 
>> I always thought "not present" was sufficiently descriptive, in combination 
>> with the missing args default to undefined rule, that it didn't need further 
>> definition.
> 
> Why? Those words do not occur in the rule's definition.

That's one of the strengths/weaknesses of pseudo code.  It's not manageable to 
formally define phrase so you depend upon commonly understood the natural 
language meaning for a lot of things. 

But, I rule of thumb is that if one person is vocal about being confused then 
many other also probably are.

Boris should file a bug.

Allen



_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to