Newly revised Section 10 for ES3.1.

Mark S. Miller erights at
Wed Jul 9 22:48:10 PDT 2008

On Wed, Jul 9, 2008 at 10:35 PM, Allen Wirfs-Brock <
Allen.Wirfs-Brock at> wrote:

> Every valid proposed ES3.1 cautious subset program is also a valid program
> in the full language.

I don't think it works to restate the "fail stop subset" notion in terms of
validity. Rather, we can say that an ES3.1 cautious program that runs
without causing any cautiousness-induced failures will run the same way in
the full language. Put another way, Given an alleged ES3.1 cautious program,
it will

* be statically rejected
* cause a failure by violating a dynamic cautiousness restriction
* execute as it would in the full ES3.1 language.

For example, the following is a perfectly *valid* ES3.1 cautious function:

function isCautious() {
  function foo() {this;}
  try { foo(); } catch (e) { return true; }
  return false;

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Es4-discuss mailing list