ArgumentList and FormalParameterList could technically be replaced by
ElementList and ArrayBindingElementList respectively at this point,
just using them here for expository purposes.
The only difference I can see is that array structuring and
destructuring support elision whereas argument and parameter lists
currently do not. But I'm not sure this difference makes sense, since
elision should be similarly useful at the function activation boundary
as it is at the assignment boundary.
Thanks,
Sean Eagan
So I guess my deeper question is why we can't just do the following:
* argument lists as array structuring patterns:
ArgumentList :
ElementList
* parameter lists as array destructuring patterns:
ArrayBindingPattern :
[ ArrayBindingElementList ]
FormalParameterList :
ArrayBindingElementList
ArrayBindingElementList :
Elision<opt> BindingRestElement<opt>
BindingElementList , Elisionopt BindingRestElement<opt>
ArgumentList and FormalParameterList could technically be replaced by
ElementList and ArrayBindingElementList respectively at this point,
just using them here for expository purposes.
The only difference I can see is that array structuring and
destructuring support elision whereas argument and parameter lists
currently do not. But I'm not sure this difference makes sense, since
elision should be similarly useful at the function activation boundary
as it is at the assignment boundary.
Thanks,
Sean Eagan
So I guess my deeper question is why we can't just do the following:
ArgumentList : ElementList
ArrayBindingPattern : [ ArrayBindingElementList ]
FormalParameterList : ArrayBindingElementList
ArrayBindingElementList : Elision<opt> BindingRestElement<opt> BindingElementList , Elisionopt BindingRestElement<opt>
ArgumentList and FormalParameterList could technically be replaced by ElementList and ArrayBindingElementList respectively at this point, just using them here for expository purposes.
The only difference I can see is that array structuring and destructuring support elision whereas argument and parameter lists currently do not. But I'm not sure this difference makes sense, since elision should be similarly useful at the function activation boundary as it is at the assignment boundary.
Thanks, Sean Eagan