Module isolation

Brendan Eich brendan at mozilla.com
Mon Jan 11 17:17:56 PST 2010


On Jan 11, 2010, at 4:56 PM, Brendan Eich wrote:

> The second argument to eval has been a Mozilla extension since 1998  
> at least, it predates ES3:
>
> http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/js/src/jsobj.c&rev=3.2 
>  (1998-4-23 cvs commit, from a Netscape-internal cvs repo)

 From https://bugzilla.mozilla.org/show_bug.cgi?id=531675#c4 :

 > We started down this road in conversations in Ecma TC39 ... around  
the time ES3 was under way. We were trying to incubate a "better eval".

This was discussed in Ecma committee at the time, but it didn't make  
it through the ES3 process, and we did not then remove it. Failure to  
remove it at that point is something you could blame Mozilla JS  
hackers for, I agree (I'll take some of that, although I was keeping  
my distance in order to focus on mozilla.org founding work at the time).

But that's water way under the bridge, and frankly, it's a risk of  
implementing prototype features that developers then come to depend  
on. But it's Mozilla's albatross, not Ecma's and not es-discuss fodder  
to rehash further. It's a cost of business unless one only ever  
extends open source that never "ships" or is otherwise used or tested  
much, which defeats the purpose of prototyping.

We will remove eval's second argument as soon as we can. I do not  
think we should try to extend ES with two-arg eval, as I wrote  
recently. This leaves us with eval.hermetic/eval.spawn or some other  
extension point.

/be


More information about the es-discuss mailing list