31

当我第一次学习 Haskell 时,Haskell '98 是官方发布的语言规范。今天,该规范是 Haskell 2010。(我不得不承认,我真的很难记住这些差异到底是什么。)

现在 Haskell 已经存在很长时间了。(嗯,在计算方面它已经很长时间了。)所以我想知道的是......在 Haskell 的历史上,该语言是否有任何重大的设计变化?还是所有的变化都相对较小?有没有什么地方我可以找到这些列表,而无需坐下来阅读每个版本的 Haskell 报告试图找出差异?

4

2 回答 2

27

该语言的历史,包括主要里程碑和设计决策,在

@INPROCEEDINGS{Hudak07ahistory,
    author = {Paul Hudak and John Hughes and Simon Peyton Jones and Philip Wadler},
    title = {A history of Haskell: Being lazy with class},
    booktitle = {In Proceedings of the 3rd ACM SIGPLAN Conference on History of Programming Languages (HOPL-III},
    year = {2007},
    pages = {1--55},
    publisher = {ACM Press}
}
于 2012-07-02T15:07:40.517 回答
12

Dons 给出的参考资料非常出色且具有权威性,直至其结束。这是我脑海中的一些东西——包括规范中的内容以及规范中未正式包含但我认为其他编译器也经常针对的 GHC 的非实验部分的内容提供。这还包括类型类和我们现在认为是标准的其他功能,但并非总是如此,但它们可以纯粹作为库存在。

  • 分层模块
  • 单子
  • IO 单子
  • 做符号
  • 外部函数接口
  • 多参数类型类
  • 不精确的例外
  • 可键入和数据
  • 可扩展异常
  • 功能依赖
  • 类型函数
  • 并发 Haskell
  • STM
  • GADT
  • 大单态性灾难(即失去单子理解,映射专门用于列表等)
  • 适用性和可遍历性
  • 箭头/箭头符号
  • 单子修复
于 2012-07-02T16:10:29.333 回答