ReScript 12 (2025)
11 hours ago
- ReScript 12 引入了新的构建系统、独立运行时、统一运算符、JSX 保留模式和语法改进。
- 新的构建系统改进了依赖跟踪并减少了重新编译,与 monorepo 工作流集成。
- 标准库 @rescript/core 现在作为 'Stdlib' 包含在内,新增了许多内容以减少实用工具代码。
- 统一运算符(+、-、*、/、%、**)适用于整数、浮点数和 bigint,无需再使用单独的浮点运算符。
- 支持新的 F# 风格位运算符(&&&、|||、^^^、~~~),旧版 OCaml 位运算符已弃用。
- 引入了字典字面量和模式匹配,可编译为纯 JavaScript 对象,并支持简洁的 JSON 解构。
- 新增了嵌套记录类型、变体模式展开以及实验性的 let? 语法,用于零成本解包。
- JSX 保留模式直接输出 JSX 语法,以便与 ESBuild 或 Babel 等打包器兼容。
- 函数级 @directive 属性会输出 JavaScript 指令(例如 'use server'),用于服务器操作和框架。
- 现在支持 JavaScript 正则表达式字面量,用更清晰的语法取代了 %re 表达式。
- 重大变更包括新的构建系统、运行时包拆分、API 命名对齐(Exn 改为 OrThrow)以及移除 JSX v3。
- OCaml 兼容辅助函数(如 succ、pred、|>)已被弃用,转而采用与 JavaScript 对齐的替代方案。
- 平台改进包括以 ESM 为首要的发行版和针对特定平台的二进制文件,以加快安装速度。