Re: More flexibility in the ECMAScript part? (was: Re: Futures (was: Request for JSON-LD API review))

2013-04-20 Thread Brendan Eich

Ecma does official HTML now.

/be

Tab Atkins Jr. wrote:

unofficial HTML version for everything.

___
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss


More flexibility in the ECMAScript part? (was: Re: Futures (was: Request for JSON-LD API review))

2013-04-17 Thread David Bruant

[es-discuss only fork]

Hi,

I'm forking this as I feel it surfaces an issue which I analyse as being 
rooted in the ECMAScript organization. As I describe my opinion below, 
please feel free to tell me I'm wrong in my analysis.
I'm sorry this is not a technical discussion, but I nonetheless believe 
that it is a really important discussion to have.


Anne van Kesteren wrote:


On Wed, Apr 17, 2013 at 4:56 PM, Mark S. Miller erig...@google.com wrote:
 Hi Anne, promises were already in progress for ES7. It was the w3c that
 chose to fork the effort rather than participate and provide feedback.

Okay, lets assume promises are not in the DOM specification. How soon
do you think we can get a specification we can use for the dozens of
APIs in development today?

(Technically it's not part of any W3C draft by the way, but I guess
the sentiment is the same either way.)


I don't think W3C forked the progress that was being done on the 
ECMAScript side. I believe Alex Russel led an initiative [1] with a 
handful of people. I believe in the good faith of this initiative.
This initiative isn't related to the W3C from what I know (Alex will 
correct me if necessary). The reasons why Alex didn't choose to follow 
up on the existing strawman ES-side [2] remain an unanswered question as 
far as I'm concerned. It'd be interesting to have an expression on this 
topic.


The major point here is that the different specs of the web platform 
needs to stop reinventing the wheel when it comes to the Promise/Future 
pattern and should agree on a shared idiom.


I have suggested [3] that promises should be part of ECMAScript, but 
this didn't happen. Others seem to believe ECMAScript would be a better 
place for a Promise/Future built-in library.
Why hasn't it happened? or, to repeat Anne's question: How soon do you 
think we can get a specification [for promise/future in ECMAScript] we 
can use for the dozens of APIs in development today?


I'm interested in the opinions of the different people who will read 
this message.

My thoughts are as follow:
Although promises were planned for ES7, they weren't part of any formal 
spec. As far as I know, no recent TC39 meetings even mentioned the 
concurrency strawman [2].
No formally accepted and agreed upon spec makes ES7 promises and the 
concurrency strawman virtually inexistent. The current largely informal 
agreement on the concurrency strawman doesn't solve the current problem 
of the web platform using promises/futures.


I believe the problem lies in that ECMAScript has a monolitic spec 
snapshot model. This model doesn't allow the flexibility needed by 
WebIDL and the web platform which are an important consumer of the spec. 
I believe this is why the WHATWG was chosen to host the Future spec work 
[4].


Assuming this is the agree cause, would it make sense for the ECMAScript 
spec model to change to fit the flexibility needs of WebIDL and the web 
platform?
I'm also going to ask a pretty violent question, but: does it still need 
to be spec'ed by ECMA? The only argument I've heard in favor of staying 
at ECMA is that some people still find ISO standardization and Word/PDF 
important. Can this be re-assessed? Especially given the recent 
promise/future mess?
Other parts of the platform (thinking of DOM, DOM Events, XHR, 
forgetting about HTML5 specifically) have survived to the living 
standard model with success. The rumor on the street is that their 
latest editor draft of a lot of W3C is in HTML format; that would 
encourage a tighter feedback loop.
Node.js is becoming more and more popular and I don't believe ECMAScript 
5.1 being an ISO standard is that important for the people interested in 
Node.js (probably even the business-focused ones).


To a large extent the flexibility I'm asking for is already in place 
between TC39 and implementors (features are prototyped before being 
fully spec'ed). It just needs to be extended to another important 
consumer of the spec that is WebIDL.


David

[1] https://github.com/slightlyoff/DOMFuture
[2] http://wiki.ecmascript.org/doku.php?id=strawman:concurrency
[3] https://mail.mozilla.org/pipermail/es-discuss/2012-November/026188.html
[4] http://dom.spec.whatwg.org/#futures
___
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss


Re: More flexibility in the ECMAScript part? (was: Re: Futures (was: Request for JSON-LD API review))

2013-04-17 Thread Tab Atkins Jr.
On Wed, Apr 17, 2013 at 10:28 AM, David Bruant bruan...@gmail.com wrote:
 I'm also going to ask a pretty violent question, but: does it still need to
 be spec'ed by ECMA? The only argument I've heard in favor of staying at ECMA
 is that some people still find ISO standardization and Word/PDF important.
 Can this be re-assessed? Especially given the recent promise/future mess?
 Other parts of the platform (thinking of DOM, DOM Events, XHR, forgetting
 about HTML5 specifically) have survived to the living standard model with
 success. The rumor on the street is that their latest editor draft of a lot
 of W3C is in HTML format; that would encourage a tighter feedback loop.
 Node.js is becoming more and more popular and I don't believe ECMAScript 5.1
 being an ISO standard is that important for the people interested in Node.js
 (probably even the business-focused ones).

 To a large extent the flexibility I'm asking for is already in place between
 TC39 and implementors (features are prototyped before being fully spec'ed).
 It just needs to be extended to another important consumer of the spec that
 is WebIDL.

Speaking as someone who's been doing W3C work for years, I find ISO
standardization a non-issue, and Word/PDF an anti-feature.  I can't
*stand* the ES draft as it's published today, and rely on the
unofficial HTML version for everything.

I strongly support any efforts to move JS standardization into the
umbrella of the W3C.  I also strongly support any efforts to move JS
standardization to a module-based affair, where parts can level
independently.  I think we've accumulated more than enough evidence
over the last decade that monolithic specs are not the right way to
develop standards for the web.  (The one counter-argument, HTML, is an
important exception to learn from, as it is a monolithic *document*
but a modular and independently-advancing *spec*.)

~TJ
___
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss


Re: More flexibility in the ECMAScript part? (was: Re: Futures (was: Request for JSON-LD API review))

2013-04-17 Thread Allen Wirfs-Brock

On Apr 17, 2013, at 10:28 AM, David Bruant wrote:

 ...
 
 Although promises were planned for ES7, they weren't part of any formal spec. 
 As far as I know, no recent TC39 meetings even mentioned the concurrency 
 strawman [2].

i don't think the mention observation is totally correct.  More generally, it 
is the actual TC39 participants who set the agenda for meetings and who build 
the necessary consensus to advance proposals.  That is how the ES7 observe 
proposal has advanced as rapidly as it has.  It is up to champions of specific 
proposal (such as Alex or Mark, in this case, but it could be others) to add 
appropriate agenda items and to move the process forward.

 No formally accepted and agreed upon spec makes ES7 promises and the 
 concurrency strawman virtually inexistent. The current largely informal 
 agreement on the concurrency strawman doesn't solve the current problem of 
 the web platform using promises/futures.
 
 I believe the problem lies in that ECMAScript has a monolitic spec snapshot 
 model. This model doesn't allow the flexibility needed by WebIDL and the web 
 platform which are an important consumer of the spec. I believe this is why 
 the WHATWG was chosen to host the Future spec work [4].

TC39 does not exclusively do monolithic specs. See for example Ecma-402, the 
ECMAScript initialization API [5] which is a modular addition to Ecma=262.  It 
is also a good example of domain experts working within the context of TC39 to 
focus attention on a specific feature area.

However, there is a very good reason that the ECMAScript Language specification 
is a monolithic spec.  Language design is different from library design. 
Programming language designs are notorious for the cross-cutting syntactic and 
semantic issues that arise when new langue level features are added. It would 
be irresponsible to try to introduce a new features without considering how it 
interacts with all other features of the language.  It also, isn't best 
practice to to only sequentially design in new features as this may lead to 
decision decisions that are hostile to other feature requests that are in the 
pipeline.

There is stuff in Ecma-262, particularly as ES6 emerges, that are basically 
library features and there has been casual conversations within TC39 about the 
desirability and practicality of of having separate standards for  some library 
components.  Ecma-402 is an example of this.  However, some care needs to be 
exercised here because sometimes library based features are actually 
cross-cutting language semantic extensions that are just masquerading as a 
library.  

 
 Assuming this is the agree cause, would it make sense for the ECMAScript spec 
 model to change to fit the flexibility needs of WebIDL and the web platform?
 I'm also going to ask a pretty violent question, but: does it still need to 
 be spec'ed by ECMA? The only argument I've heard in favor of staying at ECMA 
 is that some people still find ISO standardization and Word/PDF important. 
 Can this be re-assessed? Especially given the recent promise/future mess?

Language design is what it is, and to responsibly extend ECMAScript you need to 
have experienced language designers engaged. I think organizational venues and 
process has very little to do with the actual pragmatics of how you design 
extensions for a language as prominent as JavaScript. 

 Other parts of the platform (thinking of DOM, DOM Events, XHR, forgetting 
 about HTML5 specifically) have survived to the living standard model with 
 success. The rumor on the street is that their latest editor draft of a lot 
 of W3C is in HTML format; that would encourage a tighter feedback loop.
 Node.js is becoming more and more popular and I don't believe ECMAScript 5.1 
 being an ISO standard is that important for the people interested in Node.js 
 (probably even the business-focused ones).
 
 To a large extent the flexibility I'm asking for is already in place between 
 TC39 and implementors (features are prototyped before being fully spec'ed). 
 It just needs to be extended to another important consumer of the spec that 
 is WebIDL.

I would express this as, the web platform is the most important host 
environment for ECMAScript (that's how TC39 thinks of it). It is important that 
the architects of the web platform communicate their requirements, priorities, 
and timeframes to TC39 as the maintainers of ECMAScript and that TC39 is 
responsive to them. There really are no barriers to this, after all, many of us 
work for organizations that actively participate in both W3C and TC39 
activities.

Regarding WebIDL, while it has improved it is still a terrible fit to 
ECMAScript  and attempts to extend the ECMAScript language semantics via WebIDL 
is a really bad idea as it circumvents the language design best practices 
mentioned above. WebIDL is not a good rallying point for better W3C/TC39 
convergence.

Allen

 
 David
 
 [1] https://github.com/slightlyoff/DOMFuture
 

Re: More flexibility in the ECMAScript part? (was: Re: Futures (was: Request for JSON-LD API review))

2013-04-17 Thread Allen Wirfs-Brock

On Apr 17, 2013, at 10:48 AM, Tab Atkins Jr. wrote:

 On Wed, Apr 17, 2013 at 10:28 AM, David Bruant bruan...@gmail.com wrote:
 I'm also going to ask a pretty violent question, but: does it still need to
 be spec'ed by ECMA? The only argument I've heard in favor of staying at ECMA
 is that some people still find ISO standardization and Word/PDF important.
 Can this be re-assessed? Especially given the recent promise/future mess?
 Other parts of the platform (thinking of DOM, DOM Events, XHR, forgetting
 about HTML5 specifically) have survived to the living standard model with
 success. The rumor on the street is that their latest editor draft of a lot
 of W3C is in HTML format; that would encourage a tighter feedback loop.
 Node.js is becoming more and more popular and I don't believe ECMAScript 5.1
 being an ISO standard is that important for the people interested in Node.js
 (probably even the business-focused ones).
 
 To a large extent the flexibility I'm asking for is already in place between
 TC39 and implementors (features are prototyped before being fully spec'ed).
 It just needs to be extended to another important consumer of the spec that
 is WebIDL.
 
 Speaking as someone who's been doing W3C work for years, I find ISO
 standardization a non-issue, and Word/PDF an anti-feature.  I can't
 *stand* the ES draft as it's published today, and rely on the
 unofficial HTML version for everything.

Note that there is an official HTML version 
http://www.ecma-international.org/ecma-262/5.1/ 

 
 I strongly support any efforts to move JS standardization into the
 umbrella of the W3C.  I also strongly support any efforts to move JS
 standardization to a module-based affair, where parts can level
 independently.  I think we've accumulated more than enough evidence
 over the last decade that monolithic specs are not the right way to
 develop standards for the web.  (The one counter-argument, HTML, is an
 important exception to learn from, as it is a monolithic *document*
 but a modular and independently-advancing *spec*.)

See my response to David's message. In many ways HTML is more like a langue 
design effort than a library design effort.  But regardless, I'm confident that 
wherever JS is standardized, the basic process of how you evolve a language of 
this importance will be much the same, and so will be the time frames.

Allen


___
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss


Re: More flexibility in the ECMAScript part? (was: Re: Futures (was: Request for JSON-LD API review))

2013-04-17 Thread Tab Atkins Jr.
On Wed, Apr 17, 2013 at 12:06 PM, Allen Wirfs-Brock
al...@wirfs-brock.com wrote:
 Note that there is an official HTML version
 http://www.ecma-international.org/ecma-262/5.1/

Thanks!

This apparently has bad google-juice, and is not linked prominently in
the first couple results that I look at whenever I search for the ES
draft.  We can probably fix the latter, since most of those pages are
under close-by people's control.

~TJ
___
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss