写点什么

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

  • 2008-10-30
  • 本文字数:743 字

    阅读完需:约 2 分钟

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”,例如,用“->”来表示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 之上。

2008-10-30 06:571297
用户头像

发布了 80 篇内容, 共 21.8 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

淘宝商品详情API接口:实时获取SKU价格及库存信息

技术冰糖葫芦

API Explorer API boy pinduoduo API

前端面试题 - 如何实现promise?

Geek_fed966

null是原始类型,但为什么typeof null的结果是object?

Geek_fed966

事业-最佳实践-编码-异常处理规范

南山

异常 异常处理

2024-05-01:用go语言,给定两个长度为偶数n的整数数组nums1和nums2, 分别移除它们各自的一半元素, 将剩下的元素合并成集合s。 找出集合s中可能包含的最多元素数量。 输入:nums

福大大架构师每日一题

福大大架构师每日一题

2024年4月文章一览

codists

编程人

在线音频,没有新故事

自象限

Linux设备驱动系列(九)——procfs文件系统

Linux内核拾遗

文件系统 linux开发 Linux内核 设备驱动 procfs

OceanBase开发者大会·2024精彩PPT合集

菜根老谭

oceanbase

事业-最佳实践-编码-声明规范

南山

事业-最佳实践-编码-注释规范

南山

代码注释 注释 添加注释 注释规范

1/28 业务系统的安全设计

hackstoic

系统设计 安全 TGO写作小组28天挑战

《自动机理论、语言和计算导论》阅读笔记:p215-p351

codists

编译原理

开源框架 NanUI 项目宣布将暂停开发,作者转行卖钢材

源字节1号

开源 软件开发 前端开发 后端开发 小程序开发

Required request parameter ‘XXX‘ for method parameter type String is not present

源字节1号

开源 软件开发 前端开发 后端开发 小程序开发

事业-最佳实践-编码-CR认知

南山

CR CodeReview

大模型探索:阿里向量检索服务DashVector

程序员架构进阶

架构 向量检索 大模型 5月月更 通义千问

劳动节,聊聊AI究竟在替代谁的工作?

脑极体

AI

Linux设备驱动系列(十)——等待队列Waitqueue

Linux内核拾遗

队列 Linux内核 设备驱动

Ruby VM近况:Ruby 1.9.1第一预览版发布,Rubinius向C++ VM迁移_Ruby_Werner Schuster_InfoQ精选文章