Hasty Briefsbeta

双语

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 为首要的发行版和针对特定平台的二进制文件,以加快安装速度。