I'm confused about the design constraints on ES4

Mark Miller erights at gmail.com
Sat Nov 10 20:00:11 PST 2007

Hi all,

I've been reading the overview doc on the ES4 proposal. From it,
and from the threads that I've been reading, I'm confused about
the design constraints on the ES4 process. Are the following
statements all accurate:

* We want ES4 to work well on small devices, so size of implementation
  is a concern.
* Therefore, we'd rather require only one language *implementation*
  rather than two.
* The ES4 proposal includes new keywords.
* To prevent these new keywords breaking ES3 compatibility, these
  keywords are only recognized when a version attribute on the script
  tag says the script is in ES4.
* This attribute does create two languages in effect, but not two
  language implementations, and therefore does not violate the size
* The intersection of ES3 and ES4 must be approximately as pleasant a
  programming language as ES3 currently is.

If all this makes sense, does the following follow:

* The ES4 language (as recognized with the version attribute) and the
  ES3 language must be able to smoothly share an implementation.
* Whenever the goals of ES4 can be achieved by removing unneeded
  features from ES3 (e.g. "with"), rather than adding features, the shared
  implementation can smaller, and therefore even better for small

Does this make sense so far? Am I missing something?

Text by me above is hereby placed in the public domain


More information about the Es4-discuss mailing list