我是Haskell的新手,到目前为止很享受它.令我印象深刻的是,它似乎非常庞大,有许多语法结构和库可以为几乎所有东西定义函数.例如,Data.Map定义了近100个函数.Data.Set还定义了许多函数,Data.List也是如此,它还提供了许多与Data.Set相同的功能.
我有初学者的意见,为什么会这样(提供所有常见模式的功能,减少噪音),但我很想听听一些关于这个主题的资深意见.
我想说 Haskell 语言的大小处于中间位置(大于 Lisp,小于 C++)。尽管由于所有语法糖都有明确定义的翻译到 Haskell Core(大约有 7 个元素),但区分库和语言有点困难。
确实,这些库确实包含许多小函数,基本上是因为 Haskell 程序员发现了不断出现的模式,然后将它们放入代码中。作为一名学习者,我经常有一种感觉“应该有一个函数可以做到这一点”,然后发现确实存在。您可以按照编写它们的方式来学习它们:自己编写函数,然后几天后在某个库的文档中找到它。