brendan at mozilla.com
Mon Jan 18 10:13:29 PST 2010
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.:
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.
More information about the es-discuss