加载中...

Sorbet 是支付公司 Stripe 为 Ruby 开发的静态类型检查器,2019 年开源。Ruby 是高度动态的语言,Stripe 的巨型 Ruby 单体代码库促使其自研类型系统以提升重构安全性。
Sorbet 采用渐进类型:文件通过 sig 块声明方法签名,按 typed: false/true/strict 等级别逐文件启用检查。核心以 C++ 编写并高度并行化,可在数秒内检查千万行级代码库,并内建 LSP 语言服务器提供 IDE 补全与跳转。除静态检查外,sorbet-runtime 还可在运行时校验签名,弥补动态元编程留下的盲区。
Ruby 3 官方引入了独立签名文件格式 RBS 与检查器 Steep,Sorbet 使用自己的内联签名与 RBI 文件,两套体系并存。
Sorbet 是动态语言大规模渐进类型化的代表性工业案例。

登录 后参与讨论
暂无讨论,来发表第一条评论吧