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

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

关注

评论

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

TRAE 自定义模型服务商新增 Kimi,国际版现已支持超级模型 Grok-4(Beta)

火山引擎开发者社区

AI Agent热潮还能火多久?

Techinsight

非凸底仓增强算法上线广发证券,重塑个人投资者智能交易体验

非凸科技

MyEMS能源管理系统后台配置-门店管理

开源能源管理系统

开源能源管理系统

2025 制造业必看!当 RPA 遇上 AI Agent,这 5 类流程将被彻底重构

Techinsight

智能化

【深入解剖Spring事务管理】原理、传播机制与12大失效场景避坑指南

不在线第一只蜗牛

spring

免费不限量,通义灵码已经全面支持 Qwen3-coder 模型,“效果很惊艳”

阿里巴巴云原生

通义灵码

flinkcdc中checkpoint不成功问题排查

天翼云开发者社区

大数据

TinyEngine 2.7版本正式发布:开启低代码新范式!注册表功能重大更新!

OpenTiny社区

开源 前端 低代码 OpenTiny TinyEngine

海外舆情监测正在从“危机管控”走向“品牌策略核心”

沃观Wovision

品牌重塑 舆情监控 海外舆情监控 沃观Wovision 舆情监测系统

转转千万级用户量消息推送系统的架构演进之路

JackJiang

网络编程 即时通讯 IM

制造业RPA选型全攻略

Techinsight

制造业

腾讯内部同款!iOA基础版免费领,中小企业强韧防线即刻拥有!

六月的雨在InfoQ

腾讯iOA 腾讯iOA场景体验官

最常见的五种舆情危机类型及应对策略

沃观Wovision

出海企业 海外舆情监控 海外舆情 沃观Wovision 舆情监测系统

7月25日 矩阵起源亮相深圳DA数智大会,解读多模态大模型驱动的数据处理新方法

MatrixOrigin

火山引擎 EIC 解析:构建以 KVCache 为中心的推理新基建

火山引擎开发者社区

火山引擎

离线数仓优化简述

天翼云开发者社区

大数据 离线数仓

Web前端入门:JavaScript cookie 的读写操作

电子尖叫食人鱼

JavaScript 前端 Web

Canvas X Draw for Mac 矢量插图设计软件

晨光熹微

传奇IP续作:融合创新技术 数字娱乐产业迎来新发展机遇

江湖老铁

银行 / 证券 / 保险 RPA 怎么选?实操指南看这篇

Techinsight

RPA评测

Web前端入门:JavaScript 哪些地方需要 try...catch 异常捕获

量贩潮汐·WholesaleTide

前端 Web

火山引擎 MCP 安全架构与实践

火山引擎开发者社区

MyEMS能源管理系统后台配置-租户管理

开源能源管理系统

开源 能源管理系统

面试官:聊聊RAG的执行流程?

王磊

MyEMS能源管理系统后台配置-车间管理

开源能源管理系统

开源 能源管理系统

第十六章 Seo最简单的赚钱方式-广告

溪抱鱼

SEO

园区数字化管理系统(源码+文档+讲解+演示)

深圳亥时科技

TRAE SOLO Early Access 活动圆满落幕:四城联动,产品进化再加速!

火山引擎开发者社区

Data Agent:超越BI与AI的边界

字节跳动数据平台

海淀“小孩哥”用文心快码打造少年编程开源社区

Comate编码助手

少儿编程 代码自动生成 AI 代码助手 AI 编程 文心快码

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