AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

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:571221
用户头像

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

关注

评论

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

外包学生管理系统架构文档

zjluoyue

mongoDB 简单的索引类型

liuzhen007

11月日更

进击的Java(五)

ES_her0

11月日更

🔄 这些JS数组遍历是否都用过 🔄

空城机

JavaScript 大前端 11月日更

数据校验

卢卡多多

参数校验 11月日更

博文|Apache Pulsar 在自研数据管道中的技术实践

Apache Pulsar

大数据 分布式 云原生 中间件 Apache Pulsar 消息系统

springboot整合pagehelper

小鲍侃java

11月日更

KoP 2.8.0 新特性前瞻(内附视频)

Apache Pulsar

kafka 架构 分布式 Apache Pulsar KoP 2.8.0

敏捷开发:川中校友登记小程序解决方案

CC同学

javaScript基础篇说一说循环应该怎么用

你好bk

JavaScript 大前端 ES6 html/css

.NET6新东西--Random.Shared

喵叔

11月日更

TDD之让我们再聊聊TDD

刘冉

TDD

TDD之让我们再聊聊TDD(终)--正其思,规其行

刘冉

TDD

架构训练营 - 模块 3 作业

焦龙

架构实战营

测试策略实践之序篇-软件缺陷,测试计划和测试架构

刘冉

测试计划 测试策略 测试架构

linux检测系统是否被入侵(下)

入门小站

Linux

告别晦涩难懂的物理,《张朝阳的物理课》了解一下

脑极体

区块链在营销方面的应用探索

石云升

区块链 区块链应用 11月日更

一场大戏!央行数字人民币被“点燃”!

CECBC

13 K8S之Pod资源操作

穿过生命散发芬芳

k8s 11月日更

测试策略实践之分类漫谈

刘冉

在线文本转拼音工具

入门小站

工具

Lua-复合变量

Changing Lin

11月日更

TDD之让我们再聊聊TDD(续)

刘冉

TDD

周边生态 | StreamNative 宣布开源 AWS SQS Connector

Apache Pulsar

开源 云原生 消息中间件 AWS SQS Connector 周边生态

Android C++系列:JNI调用时的异常处理

轻口味

c++ android jni 11月日更

和12岁小同志搞创客开发:手撕代码,做一款人体感应灯

不脱发的程序猿

少儿编程 DIY 智能硬件 创客开发 Arduino

学生管理系统详细架构文档练习

御道而行

架构实战营

CSS页面设计稿构思与实现(五)之border-radius

Augus

CSS 11月日更

测试策略实践之测试自动化与自动化测试

刘冉

测试管理 测试策略

2022 年 9 个最佳 JavaScript IDE 和代码编辑器

devpoint

JavaScript vscode IntelliJ IDEA 11月日更

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