Haskell GHC 9.0.1-Alpha发布,支持线性类型

2020-09-30 11:29:18

Ben Gamari Ben at well-typed.com Mon Sep 28 19:14:04 UTC 2020大家好,GHC团队非常高兴地宣布在GHC 9.0系列中推出了Firstalpha版本。源代码和二进制发行版可以在通常的位置获得:https://downloads.haskell.org/ghc/9.0.1-alpha1/This First Alpha比预期的要晚得多。然而,我们已经对这个预发布进行了大量的测试,因此希望能够在下周发布候选版本,并在10月中旬发布最终版本。GHC 9.0.1将带来许多新功能:*新的LinearTypes语言扩展的第一个版本[1],允许使用线性函数语法和线性记录字段。*新的bignum库(GHC-bignum),使GHC更容易与GMP以外的整数库一起使用。*代码生成方面的改进,导致某些程序的性能大幅提升。*改进了模式匹配检查,可以更精确地检测冗余案例并缩短编译时间。*实施简化包容提案[2],简化类型系统,为GHC 9.2中的QuickLook不可预测性铺平道路。*实现了QualifiedDo扩展[3],可以更加方便地重载`do`语法。*缩短编译时间,等等。请参阅发行说明[4]以全面了解此版本中的更改。请注意,在最终版本发布之前,我们预计会有一些变化:*我们希望解决Apple Darwin的公证工作流程,允许在MacOS Catalina上毫不费力地使用我们的二进制发行版。在解决此问题之前,Catalina用户可以在运行`make install`之前,通过在解包树上运行`xattr-cr.`来免除当前MacOS二进制发行版的公证要求。*我们可能会将Alpine二进制发行版转换为完全静态链接,为Linux用户提供方便的、独立于发行版的打包选项。*我们将合并#17760的强大解决方案,该解决方案将在`base`库中引入新的原语`Keep Alive#`,将`touch#`的大部分使用都包括在内。请一如既往地测试此版本,并为您遇到的任何问题打开票证。为了帮助实现这一点,本周晚些时候,我们将发布一篇博文,描述如何使用新的“head.hackage`基础设施来简化对具有黑客依赖关系的大型项目的测试。-BEN[1]https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0111-linear-types.rst[2]https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0287-simplify-subsumption.rst[3]https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0216-qualified-do.rst[4]https://downloads.haskell.org/ghc/9.0。.1-alpha1/docs/html/users_guide/9.0.1-notes.html-下一部分-非文本附件已擦除...名称:签名。ascType:应用程序/pgp-签名大小:487bytesDesc:不可用URL:<;Http://mail.haskell.org/pipermail/ghc-devs/attachments/20200928/c19c4dd4/attachment.sig>;