Clojure 1.13 新增对检查键(checked keys)的支持
Clojure 1.13 首个 Alpha 版本发布,引入了对检查键的支持,增强了数据结构的键验证能力。该功能允许开发者在映射(map)或记录(record)操作中显式指定允许的键,从而在编译或运行时捕获拼写错误和意外键名,提升代码健壮性与可维护性。同时,本次更新还包含其他改进与修复。
背景速读
- Clojure 是运行在 JVM(Java 虚拟机)上的现代 Lisp 方言,以不可变数据结构和函数式编程著称,在大型企业级数据处理、金融系统和并发应用中很受欢迎。
- 此次发布的 Clojure 1.13 引入了"checked keys"(已检查键)特性,属于对语言核心数据结构的改进,影响使用 map(映射/字典)类型的所有代码。
- 该特性让编译器在编译时检查 map 的键是否拼写正确或符合预期模式,而非等到运行时才发现错误——类似 TypeScript 对 JavaScript 做类型检查的思路,但针对的是 key(键)而不是变量类型。
- 在此之前,Clojure 的 map 使用是非常动态的:任何键都是合法的,拼写错误只在运行时暴露。Checked keys 是 Rich Hickey(Clojure 创始人)团队延续"渐进类型"风格的一次进化,属于 Clojure 稳步改进的一部分,而非改革性的变化。