Simple idea:

   - Add new Annex to language.
   - Define operation EmitDeprecationWarning(code) - implementations MAY
   show deprecation warning in implementation dependent way (it can depend on
   runtime flag, dev tools, not minified code, etc.); otherwise operation
   EmitDeprecationWarning is noop
   - Define when implementations SHOULD emit deprecations warnings - like
   using with statement, non-standard Reg-Exp properties, compile method,
   assign to arguments, getYear etc.
   - Language features can be removed after 10 (15?) years


On Wed, Jul 26, 2017 at 11:55 AM, Andreas Rossberg <rossb...@google.com>
wrote:

> As for the reoccurring assumption that deprecation would help simplifying
> JavaScript implementations: no, not to a relevant degree. 80+% of the
> complexity in a JS VM comes from the plethora of (sometimes ridiculous)
> edge cases in the core semantics of JavaScript, its object model, implicit
> conversions, etc., and the desire to make all that fast in the common case
> without breaking correctness of the million special cases. None of that can
> be deprecated without creating a completely new language.
>
> And clearly, modes or versions only make things worse in that regard.
> Strict mode already is a pig when it comes to implementation complexity (in
> retrospect, it does not carry its weight IMHO). ES6 made it worse. Our
> experiments with strong mode a while ago increased complexity even further,
> so much that the urge to rip it out again overtook very quickly. I for one
> am eternally healed of modes.
>
> _______________________________________________
> es-discuss mailing list
> es-discuss@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to