Haskell如何改变?

Mat*_*hid 28 haskell

当我第一次学习Haskell时,Haskell '98是官方发布的语言规范.今天,该规范是Haskell 2010.(我必须承认,我真的很难记住差异究竟是什么.)

现在Haskell已经存在了长时间.(好吧,在计算方面,这是一段很长的时间.)所以我想知道的是......在Haskell的历史中,语言是否有任何重大的设计变化?或者所有变化都相对较小?有什么地方我可以找到这些列表,而不是坐下来阅读每个版本的Haskell报告试图发现差异?

Don*_*art 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}
}
Run Code Online (Sandbox Code Playgroud)


scl*_*clv 12

参考Dons给出的是优秀的和权威的,直到它结束.这里有一些我最喜欢的东西 - 其中包括规范中的内容以及规范中没有正式的内容,但我认为GHC的非实验性部分,其他编译器也经常瞄准提供.这还包括类型类和我们现在认为是标准的其他特性,但并非总是如此,但它们可以纯粹作为库存在.

  • 分层模块
  • 单子
  • IO Monad
  • 记谱法
  • 外部函数接口
  • 多参数类型
  • 不精确的例外
  • 可输入和数据
  • 可扩展的例外
  • 功能依赖
  • 类型功能
  • 并发Haskell
  • STM
  • GADTs
  • 伟大的单形态灾难(即monad理解的丧失,专门用于列表的地图等)
  • 适用性和可穿越性
  • 箭头/箭头表示法
  • MonadFix

  • 伟大的单形态灾难:)至少我们在ghc中有monad理解. (5认同)
  • 你能解释一下还是提供一个链接来解释"伟大​​的单形态灾难"是什么?似乎那里有一个有趣的故事,但Google没有给我什么. (5认同)