<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><html>On Apr 17, 2008, at 4:06 PM, Jeff Dyer wrote:</html><br class="Apple-interchange-newline"><blockquote type="cite"> <font face="Verdana, Helvetica, Arial"><span style="font-size:12.0px">The catchall syntax seems heavy handed for the use cases it serves. It introduces new syntax, not just special meaning for ‘meta’ qualified names, and it is otherwise possible to create object values with catchalls by using classes. <br> <br> I propose that we remove the productions that begin with “meta::get”, “meta::set”, “meta::has”, “meta::delete” and “meta::invoke”.<br></span></font></blockquote></div><br><div>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:</div><div><br></div><div>obj = {get *(id) ..., set *(id, value) ...};</div><div><br></div><div>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.</div><div><br></div><div>/be</div></body></html>