如何实现Haskell中的库函数

Mit*_*son 12 implementation haskell standard-library

我刚刚开始学习Haskell,并且会发现查看Haskell函数是如何实现的非常有用.我已经能够在不同的问题上找到标准前奏曲,但我现在对Data.List感兴趣.有没有办法找到这些功能的来源?

我真的很想看到排列和结点(其余的,但这些对我来说最有趣).

C. *_*ann 24

你去了:http://hackage.haskell.org/packages/archive/base/latest/doc/html/src/Data-List.html

更一般地说,如果您查看文档页面,Data.List您将看到类型签名右侧的"源"链接,这将直接指向该功能的源.

您可以以相同的方式找到其余标准库的源代码,事实上,几乎所有关于Hackage的内容都可以找到.

  • 他们不引人注目,但很容易错过,这很好!这非常有用.另外一个提示:[目录列表已启用](http://hackage.haskell.org/packages/archive/base/latest/doc/html/src/)源代码文档所在的位置,因此您可以浏览列表方式并查看未由库公开导出的模块(即内部实现细节). (9认同)

vis*_*vis 8

Data.List模块的文档可在此处找到:http: //www.haskell.org/ghc/docs/latest/html/libraries/base/Data-List.html

这里的来源:http: //www.haskell.org/ghc/docs/latest/html/libraries/base/src/Data-List.html

在GHCI中,您可以:browse Data.List找到有关此模块的更多信息.请注意,基本列表定义和操作也可以在基础包中找到,例如GHC.Base,GHC.List.