有哪些使用Haskell的开源程序可以被认为是高质量的现代Haskell?代码库越大越好。

我想学习他们的源代码。我觉得我已经经过了从小代码示例中学习的阶段,这些示例通常是深奥的和小世界的。我想看看代码是如何结构的,当你有很多事情(日志,I/O,配置等)时,单子是如何交互的。


XMonad是一个开源的平铺窗口管理器,最初松散地模仿dwm。有许多质量参差不齐的扩展,但核心是紧凑和组织良好的。

Darcs是一个开源的源代码管理系统。这应该能让你对哈斯克尔有个好印象。

我的建议。

阅读20世纪90年代来自不同研究生院的人编写的代码

牛津风格 格拉斯哥风格或(这个) 查尔默斯风格(或这种风格) 纽约风格 波特兰风格或OGI风格(或这个) 乌特勒支风格 耶鲁大学的风格 特殊情况:CMU/Elliott

阅读大师的代码(不完整的列表)

马洛;帕特森;佩顿·琼斯;吉尔;Launchbury;休斯;Wadler定义;鸟;克赖森;琼斯;Tolmach;Sheard;Swiestra;Augustsson;西曼;华莱士;汤普森;Hinze;吉本斯;Leijen;Hudak;艾略特;Finne;的查克推瓦蒂;而且 写过功能珍珠的人。

请注意,像我、Coutts、Mitchell、O’sullivan、Lynagh等人都是从这些人那里学到Haskell风格的。

阅读一些应用程序

阅读GHC基本库源代码 读取xmonad源代码

如果你关心web编程,我会推荐Chris Done的lpaste项目。

GHC可能是用Haskell编写的最大或最大的开源项目之一。当我说最大时,我指的不仅仅是来源的规模,还包括影响力、使用、创新和稳健性。GHC可以教你很多编写Haskell的方法。

Haskell:类型函数式编程 Joeri van Eekelen, et al. | Wikibooks 2007年出版,290页 为了伟大的利益,学习哈斯克尔! Miran Lipovaca | LearnYouaHaskell.com 出版于2010年,共176页 真实世界Haskell B. O'Sullivan, J. Goerzen, D. Stewart | O'Reilly传媒公司 出版于2008年,710页 通往逻辑、数学和编程的哈斯克尔之路 Kees Doets, Jan van Eijck |大学出版社 2004年出版,449页

Yesod Web平台的源代码相当复杂,经过深思熟虑,编写得很好。您还将从附带的持久性库中学到很多东西。