Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我是 Haskell 的新手,到目前为止非常喜欢它。让我印象深刻的一件事是它看起来很大,有许多语法结构和库,它们为几乎所有东西定义了函数。例如,Data.Map 定义了近 100 个函数。Data.Set 还定义了许多函数,Data.List 也是如此,它也提供了许多与 Data.Set 相同的功能。
对于为什么会这样,我有初学者的看法(为所有常见模式提供功能,减少噪音),但我很想听听一些老手对该主题的看法。
我会说 Haskell 语言的大小介于中间(比 Lisp 大,比 C++ 小)。尽管由于所有语法糖都有明确定义的翻译到 Haskell Core(它有大约 7 个元素),但它有点难以区分库和语言。
库确实包含很多小函数,这主要是因为 Haskell 程序员发现了不断出现的模式,然后将它们放入代码中。作为一名学习者,我经常有一种感觉“应该有一个函数来做到这一点”,然后发现确实有。你学习它们的方式与编写它们的方式相同:自己编写函数,然后几天后在某个库的文档中找到它。