<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Feb 21, 2008, at 8:30 AM, Maciej Stachowiak wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><span class="Apple-style-span" style="-webkit-text-stroke-width: -1; ">I'd like Apple and the WebKit project to get involved with ES4  </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">implementation. But right now, as far as I can tell, there isn't a <span class="Apple-converted-space"> </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">written record for any of ES4's features that I could point an <span class="Apple-converted-space"> </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">engineer to and say "implement this".</div></blockquote><div><br class="webkit-block-placeholder"></div>There's certainly no such spec, or you would be a passive observer of a standardization process that was all but done. That's not reality, and it arguably is not what you should want -- Apple people could be valued peers in the remaining work on ES4.</div><div><br class="webkit-block-placeholder"></div><div>If you want to be passive implementors of a finished spec, then wait till next year.</div><div><br><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> The proposals on the wiki are <span class="Apple-converted-space"> </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">way out of date, it's not easy to find what trac tickets modified <span class="Apple-converted-space"> </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">them, and there seem to be commonly understood planned changes that <span class="Apple-converted-space"> </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">aren't even reflected in trac.</div></blockquote><div><br class="webkit-block-placeholder"></div>That's a failure to file trac tickets -- could you please list these changes that aren't in the trac? There's no other bug system to track these planned changes, so they had better show up at <a href="http://bugs.ecmascript.org">http://bugs.ecmascript.org</a>/ soon or they won't happen.</div><div><br><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><span class="Apple-style-span" style="-webkit-text-stroke-width: -1; ">Before attempting interoperable implementations of particular  </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">features, I think we need at minimum a form of the proposal for that <span class="Apple-converted-space"> </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">feature that is complete and up to date. It doesn't have to be formal <span class="Apple-converted-space"> </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">specification quality, but there has to be something accurate.</div></blockquote><div><br class="webkit-block-placeholder"></div><div>I've worked pretty hard to keep proposals such as <a href="http://wiki.ecmascript.org/doku.php?id=proposals:iterators_and_generators">iterators and generators</a> up to date; it depends on other proposals which are also not formal spec quality, but stable and meaningful (structural types, type parameters). Cormac has done work recently in formalizing the type system which was important to Graydon's RI work.</div><div><br class="webkit-block-placeholder"></div><div>So I think you are generalizing unfairly here.</div><div><br class="webkit-block-placeholder"></div><div>It's true that decimal is out of date in the wiki, and there are open trac issues. This is true of other proposals.</div><div><br class="webkit-block-placeholder"></div><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Now, it may be that by telling someone to reverse engineer another <span class="Apple-converted-space"> </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">implementation, or ask the ES4 crowd about every detail of how a <span class="Apple-converted-space"> </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">feature should be implemented, someone could succeed in implementing. </div></blockquote><div><br class="webkit-block-placeholder"></div>Nice strawmen, but no one proposed those things.</div><div><br><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">But it seems to me that this undermines the unstated assumption of <span class="Apple-converted-space"> </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">interoperable *independent* implementations.</div></blockquote><div><br></div><div><br class="webkit-block-placeholder"></div><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><span class="Apple-style-span" style="-webkit-text-stroke-width: -1; ">In contrast, with CSS, Web API or HTML WG specifications, I can point  </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">engineers to a spec that is more or less accurate for a given feature <span class="Apple-converted-space"> </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">and they only have to ask questions about the few missing details.</div></blockquote><div><br class="webkit-block-placeholder"></div>And then Hixie goes and rewrites it. I am calling b.s. here, Maciej. We implemented offline web app support early in Firefox 3, based on such WHAT-WG (ok, not HTML WG at the time) specs. They changed a great deal later.</div><div><br><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> I <span class="Apple-converted-space"> </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">would raise HTML5 as a particularly laudable example because it <span class="Apple-converted-space"> </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">achieves this even though much implementation work is happening in <span class="Apple-converted-space"> </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">parallel with writing the spec.</div></blockquote><div><br class="webkit-block-placeholder"></div>You are misrepresenting what has actually happened there.</div><div><br><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><span class="Apple-style-span" style="-webkit-text-stroke-width: -1; ">I think we should strive to achieve the same standard for ES4. At  </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">feature granularity, someone should first write an up to date accurate <span class="Apple-converted-space"> </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">document and implementations should be done against that, not against <span class="Apple-converted-space"> </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">some separate shared understanding of the feature.</div></blockquote><div><br class="webkit-block-placeholder"></div>That's the plan -- see Jeff's paragraph about "feature specs" which I cited in reply to Geoff.</div><div><br class="webkit-block-placeholder"></div><div>/be</div></body></html>