好的Haskell源码阅读和学习

什么是一些使用Haskell的开源程序,可以被认为是高质量的现代Haskell ? 代码越大越好。

我想学习他们的源代码。 我觉得我已经从小代码的例子中学习了,这些例子往往是深奥的,小的世界。 我想看看代码是如何构造的,当有很多事情发生时(logging,I / O,configuration等)monad如何进行交互。

我推荐的

在20世纪90年代,读不同的研究生的代码

  • 牛津风格
  • 格拉斯哥风格还是( 这个 )
  • 查尔莫斯风格 (或这个 )
  • 纽约风格
  • 波特兰风格或OGI风格 (或这个 )
  • 乌得勒支风格
  • 耶鲁风格
  • 特殊情况: CMU / Elliott

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

  • 马洛 ; 帕特森 ; Peyton Jones ; 鳃 Launchbury ; 休斯 ; 瓦德勒 鸟 ; Claessen ; 琼斯 ; 托尔马奇 Sheard ; Swiestra ; 奥古斯特松 ; Runciman ; 华莱士 汤普森 ; Hinze ; 长臂猿 ; Leijen ; 胡达克 艾略特 ; 芬恩 Chakravarty ; 和
  • 任何人写了function性的珍珠 。

请注意,像我这样的人,Coutts,Mitchell,O'Sullivan,Lynagh等从这些人那里学习了我们的Haskell风格。

阅读一些应用程序

  • 阅读GHC 基础库源文件
  • 阅读xmonad源码

XMonad是一个开放源代码的窗口pipe理器,最初在dwm上进行了松散的build模。 有很多扩展,质量各不相同,但核心紧凑,组织良好。

Darcs是一个开源的源代码pipe理系统。 它应该给你一个Haskell的好主意。

  1. Haskell: Functional Programming with Types

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

  2. Learn You a Haskell for Great Good!

    Miran Lipovaca | LearnYouaHaskell.com 2010年出版,176页

  3. Real World Haskell

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

  4. The Haskell Road to Logic, Maths and Programming

    Kees Doets,Jan van Eijck | 学院刊物2004年出版,共449页

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

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

GHC可能是Haskell最大的开源项目之一。 当我说的最大的时候,我不仅仅意味着来源的大小,还有影响,使用,创新和稳健性。 GHC可以教你很多关于编写Haskell的信息。