es7-membrane: A new ECMAScript 2016 Membrane implementation

Calvin Metcalf calvin.metcalf at
Tue Aug 23 09:17:43 UTC 2016

looks like you missed the part of the chapter that convered this :)

but the tl;dr is imports are statically resolved before runtime and so must
be at the top level outside of any sort of block or function.  In other
words if there is an error when it comes to importing something the code
won't run so a try catch is unneeded.

On Tue, Aug 23, 2016 at 6:54 AM Alex Vincent <ajvincent at> wrote:

> I have a new ECMAScript membrane implementation [1], which I will maintain
> and use in a professional capacity, and which I’m looking for lots of help
> with in the form of code reviews and API design advice.
> I wrote a lengthier post on my weblog [2], with more details of what I
> hope to get out of it.  From this group, I'm hoping to get some API design
> advice, and suggestions on how to make it even more ECMAScript-friendly and
> follow the rules of ES6 modules.
> Side note, specifically for this group:  After reading Dr. Rauschmeyer's
> chapter on ES6 modules [3], I tried writing the following:
> try {
>   import ...
> }
> catch (e) {
>   // do something else
> }
> But that resulted in a syntax error for import not being the first line of
> the script.  I really wonder why it's illegal to wrap the import statement
> in a try block...
> [1]
> [2]
> [3]
> Thank you for both your time and your good work on the ES6 specification
> and implementations!
> Alex Vincent
> Hayward, CA
> --
> "The first step in confirming there is a bug in someone else's work is
> confirming there are no bugs in your own."
> -- Alexander J. Vincent, June 30, 2001
> _______________________________________________
> es-discuss mailing list
> es-discuss at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list