主要观点:介绍了 Glasgow Haskell Compiler(GHC)9.10.1 版本的各种变化,包括语言、编译器、JavaScript 后端、WebAssembly 后端、GHCi、运行时系统、base
库等方面的更新,还提及了一些新的库和相关提案。
关键信息和重要细节:
- 语言方面:支持
GHC2024
语言版,添加多个扩展,可明确指定语言版;实现了 GHC Proposal [#575],允许对类实例声明应用DEPRECATED
和WARNING
pragmas;部分实现了 GHC Proposal [#281]“Visible forall in types of terms”等。 - 编译器方面:实现 GHC Proposal [#516],引入新警告;引入多个与调试信息相关的标志;修复编译相关 bug;默认插件可解决纠缠的类型变量集;对一些标志的行为进行了调整等。
- JavaScript 后端:支持与 C 源链接,使用 Emscripten 编译为 WebAssembly。
- WebAssembly 后端:实现 JavaScript FFI。
- GHCi 方面:区分不同操作的响应。
- 运行时系统方面:减少非移动 GC 分配器的内部碎片;支持堆 profiling;添加控制自动时间采样的标志;控制 64 位平台上两步分配器预留的虚拟内存地址空间大小。
base
库方面:更新到 Unicode 15.1.0;修改dataToTag#
和getTag
的类型;支持异常携带用户定义注释;收集同步异常的回溯;GHC.Pack
已进入 Phase 2 弃用阶段等。- 其他方面:介绍了
ghc-prim
、ghc
等库的相关更新;ghc-experimental
是新的具有较弱稳定性保证的库;template-haskell
库扩展了相关功能;包含多个其他依赖库及其版本等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。