Racket – the Language-Oriented Programming Language – 8.17 is now available
a year ago
- #programming
- #release
- #racket
- Racket v8.17 引入了新的 `drracket-core` 包,依赖项更少。
- Typed Racket 现在支持 treelists(树形列表)。
- 包管理器现在计算包的校验和,支持自动升级功能。
- 新增 `bitwise-first-bit-set` 函数,返回数字中最低有效位的设置位。
- 更新后的 `dynamic-require` 函数简化了语法绑定的使用。
- 通过 `error-module-path->string-handler` 可自定义错误消息中的模块路径显示格式。
- 在 Windows 平台上,使用 MSVCRT/UCRT 库提升了数值函数(如 `sin`、`cos` 等)的运算精度。
- Racket CS 中优化了 `string-append` 的性能并降低了内存占用。
- TCP 端口启用 `SO_KEEPALIVE` 选项以检测连接响应状态。
- Windows 终端现在支持将鼠标事件解析为虚拟终端字符。
- 新增 `#:replace-malformed-surrogate?` 关键字,用于处理 JSON 中格式错误的 Unicode 代理对。
- http-client 模块不再为无请求体的请求发送 "Content-Length: 0" 头。
- 解模块器(`compiler/demod`)可进一步剪除未使用的赋值语句。
- Redex 用函数替代了判断渲染形式以提升抽象能力。
- 若未包含教学语言,DrRacket 的语言对话框将移至首选项设置中。
- 数学库针对块对角矩阵、`acos` 和 `matrix-(cos-)angle` 进行了功能改进。
- 为 `big-bang` 程序恢复了步进器(Stepper)功能。
- 其他多项修复及文档优化。