On Nov 5, 2008, at 7:52 PM, Mark S. Miller wrote:

On Wed, Nov 5, 2008 at 7:14 PM, Maciej Stachowiak <[EMAIL PROTECTED]> wrote:

ES3.1 is premised on accepting these dynamics, being originally conceived as "ES3 + reality".


I have heard this repeated many times.

I heard it first with you and Maciej in the room, at Google, at the January 2008 TC39 meeting. I'm not sure who said it, but it was part of a committee-wide conversation about avoiding mission creep -- something I specifically recall you said you would help the committee strive to avoid.

The July deadline of that era, the choice of specification based on ES3's untestable pseudo-code and prose, and the minor version number all make sense only in a limited-scope iteration on an "ES3 +reality" mission.

Since January, the mission may have changed a bit but it cannot be as open-ended as the goal statements you cite.


- Add commonly implemented and used extensions to the standard (specifically most JavaScript 1.6 and 1.7 features)

I think these are what Maciej and others at that January meeting meant by "reality".

Nevertheless, you're right that 3.1 did grow beyond that. The big growth spurt, starting in April, was in the Object meta-programming methods. I remember talking to Allen about these at the mid-April Newton ES4 WG meeting.

The Object meta-programming suite is good stuff, necessary for getters and setters and a lot more, including aspects of Harmony. No argument: this goes beyond "ES3 + reality" -- but it happend after that January meeting where the phrase was used.

I'm afraid the goals you list are too vague to shed light on what's in ES3.1 vs. out (out meaning for ES4 then, for Harmony since the summer). Too much broad motherhood and apple pie, too little to help make crucial in vs. out decisions.

How about this concrete list instead? If we number the goals, we could stick their numbers next to each letter-bulleted feature and probably then revise the goals to be tighter:

A. ES3
B. Errata from Mozilla, others
C. Indirect eval agreements and similar
D. Array extras (map, filter, etc.)
E. JSON
F. getters and setters
G. Object.* meta-programming
H. Strict mode
I. Decimal

So while A-F are indeed "ES3 + reality", I agree that G and H add enough that we can give "ES3 + reality" a rest. :-)

I am still unsure of whether item I fits in ES3.1, but Decimal is being implemented in SpiderMonkey, which is the right order of work for adding something like decimal arithmetic in my book: implementation for user testing, concurrent or later spec drafting, then spec finalization.

Given the progress Sam has made, Decimal may have more available/open- source implementation and large-scale user experience than anything else truly new (i.e., not JSON) in ES3.1. It will be hard for the committee to reject if that happens!

Let me know if I've overlooked comparable items.

Having agreed to avoid "ES3 + reality", I have to say: broad and high- level goals do not help scope ES3.1.

More, I think Maciej is on target in stressing the dynamics of web interoperation and browser competition, which Neil Mix wrote about previously, because those dynamics override many other considerations that might be seen as flowing from the (too-)high-level goals.

And time is still of the essence, which must mean no open-ended process of enlargement -- rather, concentrated work on a same-size or even-smaller-than-current-draft spec.

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

Reply via email to