I introduced the syntax for catchalls in object initializers based on a
comment by David "liorian" Andersson.  I am not aware of any prior
agreement to have catchalls in object initializers.
 
I suspect the simple solution here is to allow meta::get etc to be used
as property names in an object initializer with a required "const"
attribute, and to spec __proto__ as a contextual keyword to set the
prototype:
 
  { const meta::get: function (id) ...,
    __proto__: ... }
 
It removes extra syntax by allowing existing syntax to state the obvious
and is backward compatible with Firefox.
 
--lars


________________________________

        From: Jeff Dyer 
        Sent: 18. april 2008 06:34
        To: Brendan Eich
        Cc: Lars Hansen; [email protected]
        Subject: Re: ES4 stable draft: object initializers
        
        
        
        
        
        On 4/17/08 2:13 PM, Brendan Eich wrote:
        
        

                These are wanted by Ajax library hackers, jresig and
shaver testify. Rather than cut a long-standing proposal because a
recent evolution of its *syntax* (not its substance) led to something
problematic, why not return to the original syntax:
                
                obj = {get *(id) ..., set *(id, value) ...};
                
                

        I'm trying to recover the notes that record this long standing
agreement. The "meta::get" syntax showed up on the latest proposal
based, I'm guessing, on a discussion at the March F2F. But I don't see
any mention of catchalls in object intialisers in the notes or proposals
on the wiki, or the es4-discuss archives.
        
        

                If on the other hand, the syntax is heavy either way,
but the substance is valuable because the use-cases are compelling
enough to serve, then we can stick with meta::get, etc.
                
                

        I prefer 'get' to 'meta::get' as a "keyword" and so I suggest we
return to the original syntax. I'll make a specific proposal for this
change once I see what the original syntax is.
        
        Jd
        

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

Reply via email to