Presentation on modules
brendan at mozilla.com
Sat Nov 7 11:10:21 PST 2009
So (as was clarified at the meeting) the Caja work is quite
informative, but we are not looking at any Harmony module system that
requires ahead-of-time code analysis and transformation before code
reaches the browser.
The alternative for Harmony is a syntactic special form, an import
directive for example, that can be analyzed when the program is parsed
(not executed), so the implementation can preload all dependencies
before execution to avoid blocking on an import (or a later data
dependency), or else an awkward non-blocking import to preserve JS's
run-to-completion execution model.
Async (non-blocking) import functionality (a runtime API) is good too
but it should not be the only way, or the common way.
There's more to say about modules but I'll let others speak up.
On Nov 7, 2009, at 9:03 AM, ihab.awad at gmail.com wrote:
> On Sat, Nov 7, 2009 at 8:34 AM, Ash Berlin <ash_js at firemirror.com>
>> Slide 10 says "Sync, arg must be a string literal". 1) why a string
>> *literal*, ...
> It's the simplest form of statically determinable identifier. We could
> say, "arg must be an expression that statically evaluates to a
> string", like:
> 'f' + 'oo'
> but we chose the simplest interpretation.
> Essentially, we are making 'load' a special form.
>> ... and 2) how can that be enforced?
> The Caja system is a compiler. :)
> Ihab A.B. Awad, Palo Alto, CA
> es-discuss mailing list
> es-discuss at mozilla.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the es-discuss