关于编码风格:良好的Haskell源码阅读和学习

Good Haskell source to read and learn from

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

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


我推荐的。

20世纪90年代不同研究生学校的人们阅读代码

  • 牛津风格
  • 格拉斯哥风格或(这个)
  • 查默斯风格(或此)
  • 约克风格
  • 波特兰风格或奥美风格(或此)
  • 乌得勒支风格
  • 耶鲁风格
  • 特殊情况:CMU/Elliott

读代码由老主人某些人(不完整的列表)

  • 马洛;帕特森;佩顿·琼斯;吉尔;朗奇伯里;休斯;韦德勒;伯德;克莱森;琼斯;托尔马赫;希尔德;斯威斯特拉;奥古斯森;朗西曼;华莱士;汤普森;欣泽;吉本斯;莱金;赫达克;埃利奥特;芬恩;查克拉瓦蒂;和
  • 任何写过实用珍珠的人。

请注意,像我、库茨、米切尔、奥沙利文、林纳等这样的人从这些人身上学到了哈斯克尔风格。

阅读一些应用程序

  • 读取GHC基本库源
  • 读取xmonad源


Xmonad是一个开源的平铺窗口管理器,最初是在DWM上松散建模的。有很多不同质量的扩展,但是核心是紧凑的,组织良好的。


DARC是一个开源的源代码管理系统。这会给你一个哈斯克尔的好主意。


  • Haskell: Functional Programming with Types

    Joeri van Eekelen等人|维基百科2007年出版,290页

  • 江户十一〔一〕号

    Miran Lipovaca_learnyouahaskel.com2010年出版,176页

  • 埃多克斯1〔2〕

    B.O'Sullivan,J.Goerzen,D.Stewart O'Reilly Media,Inc.2008年出版,共710页

  • 埃多克斯1〔3〕

    Kees Doets,Jan van Eijck大学出版物2004年出版,449页


  • Yesod Web平台的源代码相当复杂、考虑周全、编写良好。您将从随附的持久性库中学习到很多东西。


    如果你关心网络编程,我会推荐ChrisDone的lpaste项目。


    GHC可能是用开源软件haskell编写的最大或最大的项目之一。当我说"最大"时,我的意思不仅仅是在源代码大小方面,还包括影响、使用、创新和健壮性。GHC可以教你很多关于写作的知识。