Ruby VM近况:Ruby 1.9.1第一预览版发布,Rubinius向C++ VM迁移

\

Ruby 1.9.1的第一预览版已经发布(下载站点)。在发布记录写到:

\
28 Oct, 2008: Ruby 1.9.1-preview1  
\* 语言特性基本上已经冻结。
\* 然而大部分的标准库需要为多语言化(multilingualization,简称m17n)做出更多的修改。
\

发布记录还写到,2008年12月25日将发布RC版本,接下来2009年1月25日将发布最终的1.9.1。

\

InfoQ曾经报道过1.9.1的修改。其中一项最近的语言修改涉及到了lambda。一个由Eric Mahunin提交的补丁现在可以允允许lambda的参数带有默认值。在Changelog中写到:

\
parse.y (f_block_optarg): 允许默认的block参数,其取值将作为初值。此补丁由Eric Mahurin提交[ruby-core:16880]。
\

另外一个广为争议的议题是“stabby lambda”,例如,用“-\u0026gt;”来表示lambda,这是1.9引入的。尽管有些人认为应该将其移除,它还是保留在语言当中。

\

Dave Thomas(PragDave)提到,斧头书的第三版已经完成(覆盖了1.9.x),将在最终的1.9.1发布前后发行。

\

Rubinius项目的开发达到了另一个里程碑。Rubinius的创始人Evan Phoenix说道:

\
我非常高兴地宣布,我们的C++分支已经足够的稳定,我们已经将其作为默认分支了。[..] 我们做了如下的事情:
\* 旧有的master分支重命名为shotgun。
\* cpp迁移到master分支。
\* 将cpp分支删除。
\

C++分支是采用C++重写VM,而之前的“shotgun” VM则是用C写成。新的C++ VM有:

\
更好的组织形式。在构建上一个VM之时,在关于如何组织的问题上,我们学到了很多经验。例如,使用C++可以让我们将Ruby类建模为C++类,使得VM 和其Ruby所对应的部分拥有几乎相同的结构和执行方式。[..] 更好的测试。很惭愧的说,旧版VM根本没有单元测试。在新的VM中,我们已经编写了单元测试和集成测试。
\

Rubinius的代码库目前托管在Github之上。

\

你可能感兴趣的:(Ruby VM近况:Ruby 1.9.1第一预览版发布,Rubinius向C++ VM迁移)