主要观点:编译器各部分的重要变化在以下部分列出,包括语言、编译器、GHCi、运行时系统、Cmm、base
库等方面的变更,同时还包含了一些新的标志和修复的错误等。
关键信息:
- 语言方面:新增
OrPatterns
扩展,实现GHC Proposal #522
;MultilineStrings
已实现;变量用于可见类型应用的排序有变化,部分为向后不兼容;HasField
类支持表示多态等。 - 编译器方面:
PluginProv
构造函数增加DCoVarSet
参数;-fprof-late
标志不再阻止顶级构造函数静态分配;新增-fexpose-overloaded-unfoldings
标志等。 - GHCi方面:修复
GHCi
与名为Prelude.hs
或Prelude.lhs
的本地文件一起启动的错误。 - 运行时系统方面:减少非移动 GC 的段分配器导致的碎片化;内存返回逻辑使用活字节测量堆大小等。
- Cmm方面:移除
bits128
等类型,移除[*]
跳注释。 base
库方面:传播HasCallStack
;添加异常类型元数据等。ghc-prim
库方面:正确报告已弃用的原语操作使用情况等。
重要细节:各部分的具体变更内容及相关链接,如语言部分的各扩展链接等;各标志的作用及相关文档链接等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。