That's a fair point. Would the AST strawman proposal (http://wiki.ecmascript.org/doku.php?id=strawman:ast) get you most of the way there? If nothing else, it would make some metaprogramming of the source tree possible. Combine that with module loaders (http://wiki.ecmascript.org/doku.php?id=harmony:module_loader...) and I think you're pretty close to macros.