Racket v9.2

Lobsters Hottest 工具

摘要

Racket v9.2 发布,改进包括更安全的模式匹配检查、Typed Racket 修复、Unicode 17.0 支持,以及许多其他修复和文档更新。

<p><a href="https://lobste.rs/s/qxzf2k/racket_v9_2">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/05/29 15:57

# Racket v9.2 来源:https://blog.racket-lang.org/2026/05/racket-v9.2.html *发布人:Stephen De Gabrielle 与 John Clements* --- 我们很高兴地宣布 Racket v9.2 现已可从 https://download.racket-lang.org/ 获取。 ## 本版本更新如下: - `match`(https://docs.racket-lang.org/reference/match.html#%28form._%28%28lib._racket%2Fmatch..rkt%29._match%29%29)形式现在会检查:当 `...` 与非线性的模式(即同一变量被多次使用的模式)一起使用时,匹配值的两部分实际上是否相等。此外,`match` 会拒绝非线性模式中一个变量在 `...` 内使用而另一个不在 `...` 内使用的情况。此项修复可能导致现有代码运行失败(https://github.com/racket/racket/pull/5467)。 - Typed Racket 中 `asin` 和 `acos` 过程的类型现在能正确处理函数产生复数的情况,避免了之前可能出现的非健全结果。此项修复可能导致现有代码在编译时失败(https://github.com/racket/typed-racket/pull/1428)。 - 核心语法形式 `#%foreign-inline`(https://docs.racket-lang.org/reference/foreign-inline.html#%28form._%28%28quote._~23~25kernel%29._~23~25foreign-inline%29%29)提供了对 Racket 实现在 linklet 层所提供的功能的不安全访问。这意味着任何通过枚举处理所有核心形式(core forms)的代码都需要更新。 - 字符和字符串操作现在使用 Unicode 17.0。 - 此版本包含对更静态的 “ffi2” 外部接口(未来将在某个包中使用的内部支持)。 - `terminal-file-position`(https://docs.racket-lang.org/reference/port-buffers.html#%28def._%28%28quote._~23~25kernel%29._terminal-file-position%29%29)函数现在会计算写入连接到终端(如 `stdin` 和 `stderr`)的端口的字节数。 - 跨阶段持久模块(cross-phase persistent modules)现在允许更多类型的 `quote` 数据。 - `member`、`memw`、`when`、`unless`、`let/ec` 和 `cond` 的实现已重写,只使用 `racket/kernel`(https://docs.racket-lang.org/reference/Kernel_Forms_and_Functions.html)语法。 - `impersonator-property-predicate-procedure?`(https://docs.racket-lang.org/reference/chaperones.html#%28def._%28%28quote._~23~25kernel%29._impersonator-property-predicate-procedure~3f%29%29)函数可识别由 `make-impersonator-property` 创建的过程。 - 在 Typed Racket 中,多态结构类型现在使用类型参数打印(例如 `(Array Byte)`),而不是暴露内部表示。 - 步进器(stepper)中数字的显示现在能更好地匹配语言设置。 - 不使用 Racket-manual 样式的 Scribble 文档,其 `initial-scale`(https://docs.racket-lang.org/scribble/core.html#%28def._%28%28lib._scribble%2Fhtml-properties..rkt%29._initial-scale%29%29)设为 1.0(而不是 manual 样式的 0.8),但可通过 `initial-scale` 属性进行配置。 - 默认情况下,在所有样式中(不仅限于 Racket-manual 样式),当显示宽度较窄时,页边注释会以内联形式显示。 - 以 .dmg 文件形式分发的大爆炸(big-bang)程序现在能正确处理 `close-on-stop` 功能。 - 还有许多其他修复和文档改进! ## 致谢 以下人员为本版本做出了贡献: Alexander Shopov, Alexis King, Asilo, Bert De Ketelaere, Bob Burger, Bogdan Popa, Chung-chieh Shan, François-René Rideau, Gustavo Massaccesi, Ilya Klyuchnikov, Jade Sailor, Jamie Taylor, John Clements, Jonathan Simpson, LS_Hower, Matthew Flatt, Matthias Felleisen, Mike Sperber, Pavel Panchekha, Philippe Meunier, RMOlive, Robby Findler, Roman Klochkov, Sam Tobin-Hochstadt, Shu-Hung You, Stephen de Gabrielle, Tejas Sanap, Vincent Lee, 以及 Wing Hei Chan。 **Racket** 是一个由社区开发的开源项目,我们欢迎新的贡献者。请参阅 racket/README.md(https://github.com/racket/racket/blob/master/README.md#contributing)了解如何加入这个令人惊叹的项目。 ## 欢迎反馈 如有问题或讨论,欢迎加入 Racket 社区:Discourse(https://racket.discourse.group/invites/VxkBcXY7yL)或 Discord(https://discord.gg/6Zq8sH5)。 如果您方便,请帮助向用户和各平台特定仓库的打包者宣传: ``` Racket - 面向语言编程的语言 - 版本 9.2 现已可从 https://download.racket-lang.org 获取 详见 https://blog.racket-lang.org/2026/05/racket-v9.2.html 的发布公告和亮点。 ```

相似文章

Ruff v0.16.0

Simon Willison's Blog

Ruff v0.16.0 大幅扩展了默认规则覆盖范围,从 59 条增加到 413 条,能够捕获更多严重问题,如语法错误和运行时错误。此次更新可能会破坏现有的 CI 工作流程,但提供了自动修复功能,使用 `--fix --unsafe-fixes` 选项。

Hoot 0.9.0 发布

Lobsters Hottest

Hoot 0.9.0,一个用于 Guile 的 Scheme 到 WebAssembly 编译器后端,已发布,包含新功能和错误修复,包括 DWARF 支持、标准 Wasm 异常,以及为 Lisp Game Jam 提供的游戏 jam 模板。

zsh 5.9.1 发布

Lobsters Hottest

zsh 5.9.1 是一个稳定的维护版本,包含错误修复、构建改进以及一些小的新功能。

使用Rhombus进行灵活的元编程

Hacker News Top

Rhombus是一种新的编程语言,它将Racket强大的元编程能力与类似Python的语法相结合,已发布1.0版本,并由Racket编程语言基金会支持。