Ray*_*nos 43 javascript compiler-construction ecmascript-harmony
在阅读了彼得关于JavaScript的文章后,我注意到了
Brendan Eich表示,Harmony的目标之一是成为JavaScript编译器的更好目标.
目前有两个流行的编译器有一些模糊的ES:符合Harmony:
虽然CoffeeScript有一些合规性,但它并不是设计成ES:Harmony编译器,所以它对此没有用.
Tracuer似乎更严格地坚持ES:Harmony规范,但我不知道它是否打算成为一个完整的ES:Harmony编译器.
由于目标是将ES6编译为ES3,因此还需要支持ES5功能(并且可能需要支持将ES5编译为ES3或ES6至ES3).
我在Traceur邮件列表上留下了一个问题.
这种编译器的目的是向后兼容ES3.在ES3中没有完全模拟ES5和ES6.
Mik*_*uel 14
(以下无耻但相关的插头)
Caja正在通过ES5/3改进其ES5支持,并将为ES和谐做同样的事情.因此,我们的结构将被实现为ES3层的和谐,可以跳过真正的和谐实现,然后是一个可分离的加载器,它保留了与caja相关的安全属性.
像Traceur一样,Caja团队的成员也是TC39(ES Harmony的委员会)的成员.
我不知道Coffeescript的计划,但在Harmony模块的讨论中提到了它. 模块加载器可能能够拦截加载的源代码(通过eval钩子)并在模块初始化之前重写它,因此如果模块是用CoffeeScript编写的,则可以在初始化时调用运行时CoffeeScript重写器.这将允许应用程序由多种语言编写的模块组成,这些模块在加载时编译为Harmony.
需要注意的一点是,Harmony中的所有内容都不能通过翻译轻松实现.例如,正确实现弱映射需要在JavaScript中实现自己的垃圾收集器,即使你这样做,也可能只是重新引入宿主对象/本机对象循环问题.
ora*_*rad 11
查看TypeScript,这是基于ES6的微软新语言.
归档时间: |
|
查看次数: |
18897 次 |
最近记录: |