Le 20/01/2013 19:01, Brendan Eich a écrit :
David Bruant wrote:
Once again, the spec (well... you in that case :-) ) will do whatever
is necessary to make the feature understandable by spec readers.
Transpilers will work with whatever is in the language. If they only
have weakmaps, they'll use that.
See http://wiki.ecmascript.org/doku.php?id=harmony:harmony, in particular
Means
1.
Minimize the additional semantic state needed beyond ES5.
2.
Provide syntactic conveniences for:
1.
good abstraction patterns;
2.
high integrity patterns;
3.
defined by desugaring into kernel semantics.
We aim to unify the "spec problem" and the "transpiler problem" where
possible.
I think the goal of providing syntactic conveniences defined by
desugaring into kernel semantics is a valuable goal. It's good to reason
about this semantics and it's good for transpilers.
I however disagree that it should be taken to the letter as Allen seems
to take it. Specifically, I disagree with the idea that all kernal
semantics should be exposed as runtime constructs. They should only if
they prove to be useful for some other purpose.
Not always, not necessarily by spec-by-desugaring.
But we don't want magic in the spec that leaves transpilers falling
into the tarpit, if we can avoid it.
Semantics of private-class syntax hasn't been agreed on, so it's hard to
say if transpilers would have a hard time with the eventually-agreed
semantics, but Mark's desugaring with WeakMaps could work, couldn't it?
David
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss