开源编程语言 Crystal 正式发布 1.22.0 版本,包含自 1.21.1 以来的 251 项改动,由 33 位贡献者完成。本次更新包含多项重要变化:标准流在写入失败(EPIPE)时进程将立即退出,模拟 SIGPIPE 信号的默认行为,开发者可通过设置选择退出;常量现支持类型声明;长期弃用的 Process.fork 被正式移除。编译器方面新增 Crystal::ALL_FLAGS 和 Crystal::USER_FLAGS 常量,并引入多个编译期文本操作宏。调试体验上,DWARF 解析器被彻底重构,按需扫描节区并构建高效索引表,配合 LRU 缓存使回溯查找速度大幅提升,同时支持 DWARF 5 新特性。平台支持方面,aarch64-linux-gnu 与 aarch64-linux-musl 从二级平台晋升为一级平台,并首次提供 aarch64-windows-msvc 构建版本;所有目标平台默认启用基于系统选择器的原生事件循环,epoll 和 kqueue 覆盖 Solaris 及 BSD 系统,libevent 降级为可选回退方案并将在后续版本中弃用。依赖方面,新版本支持 LLVM 23.1 和 24.0。此外还包括大量 HTTP 改进与错误修复、OpenSSL 内核 TLS 默认启用、文件系统 API 增强及若干弃用警告。构建 Crystal 1.22 需要 1.14 及以上版本的 stage-0 编译器。预构建包已可在 GitHub Releases 及官方分发渠道获取。
事件分析
核心观点:编程语言的竞争力最终落在运行时与平台适配的硬功夫上,Crystal 正以工程细节换取生存空间。
原文链接:Hacker News

评论前必须登录!
立即登录 注册