好的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的好主意。
-
Haskell: Functional Programming with Types
Joeri van Eekelen等人 | 维基教科书2007年出版,290页
-
Learn You a Haskell for Great Good!
Miran Lipovaca | LearnYouaHaskell.com 2010年出版,176页
-
Real World Haskell
B. O'Sullivan,J. Goerzen,D. Stewart | O'Reilly Media,Inc.于2008年出版,共710页
-
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的信息。