Module isolation

Mark S. Miller erights at google.com
Mon Jan 18 10:20:58 PST 2010


I simply don't understand what you mean by the phrase "migrate into a
module". What does this mean?

On Mon, Jan 18, 2010 at 10:13 AM, Brendan Eich <brendan at mozilla.com> wrote:

> On Jan 18, 2010, at 9:57 AM, Mark S. Miller wrote:
>
>  No, I wrote "migrate into a module" meaning be part of the inside of a
>> module -- not be packaged as a module.
>>
>> I don't get it. What do you have in mind?
>>
>
> What's not to get? If you use Prototype inside a module, it will mutate
> "the primordials" -- whatever ones it finds on the global at the end of its
> scope chain. If those primordials are frozen, game over.
>
> Tons of JS on the web mutates primordials, e.g.:
>
> http://www.google.com/codesearch?as_q=Array.prototype
> .\w%2B+%3D+&btnG=Search+Code&hl=en&as_lang=javascript&as_license_restrict=i&as_license=&as_package=&as_filename=&as_case=
>
> http://www.google.com/codesearch?hl=en&lr=&q=%22extend%28Array.prototype%22&sbtn=Search
>
> For any such code to move into a module, that code wants mutable
> primordials. For isolation these would be per-module, and to avoid problems
> exporting functions, some kind of membrane to support virtualized mutation
> or throw on mutation attempt would be required around any exposed objects
> that lead back to in-module prototypes.
>
> Or we could say "rewrite all your code" or "forget it". But that is not a
> given.
>
> /be
>
>


-- 
   Cheers,
   --MarkM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20100118/1e450744/attachment.html>


More information about the es-discuss mailing list