[終了]から読んで学ぶための良いHaskellソース


347

Haskellを使用していて、質の高い最新のHaskellと見なすことができるオープンソースプログラムには、どのようなものがありますか?コードベースが大きいほど良いです。

彼らのソースコードから学びたいです。小さなコードの例から学習するポイントを過ぎているように感じます。多くのことが起こっている場合(ログ、I / O、構成など)に、コードの構造、モナドの相互作用を確認したいと思います。


9
この質問は締め切られましたが、ユーザーは「承認された」回答を編集して、回答を追加することができます。
ジョージストッカー2013

回答:


276

私がお勧めするもの。

1990年代のさまざまな大学院の人々がコードを読む

古いマスターの特定の人によるコードの読み取り(不完全なリスト)

Coutts、Mitchell、O'Sullivan、Lynaghなどのような人々がHaskellのスタイルをこれらの人たちから学びました。

いくつかのアプリケーションを読む


98
これは典型的なHaskell damitです。phpを使用すると、こんにちは世界を読んで、貧弱なWebサイトを直接作成できます。haskellを使用すると、学習できる内容に上限がなくなり、常により興味深い拡張機能や論文が登場します。そして今、大学にはさまざまなスタイルがあることを知ったので、それらすべてをチェックする必要があります...実際に自分のHaskellプロジェクトを作成する時間はいつありますか?:)
Tarrasch

39
簡単に言えば、さまざまなスタイルの特徴は何ですか?
grautur '19 / 06/19

17
@grautur:さらに重要なことに、なぜそれらが異なるのですか?技術的な理由はありましたか?
Robert Massaioli、2011年

10
私の見解では、さまざまなスタイルは、ウィキ前/インターネット時代のさまざまな学校の地理的な分離(および時には哲学的な不一致)の結果です。そして、スタイルに影響を与える各学校のプロトハスケル言語の遺産。Hackage、wiki、およびgithubの登場により、現在はほぼグラスゴーとGHCの使用に基づいた均一なHaskellスタイルがあります。
Don Stewart

15
CMUで、私は表記の意味論とプログラムの派生(仕様から実装への体系的な変換)を学びました。どちらもプログラミングへの私のアプローチに大きな影響を与えました。これら2つのテーマは、私のブログに定期的に表示されます。ソフトウェアライブラリで作業するときは、少数のタイプを選択して、「それはどういう意味ですか?」という中心的な質問から始めます。命令型などの低レベルのコードを見るIOと、「このコードの実装はどのような意味のある抽象化であり、その実装は抽象化からどのように派生するのでしょうか?」と尋ねます。
Conal

61

XMonadは、もともとdwmで大まかにモデル化された、オープンソースのタイリングウィンドウマネージャーです。さまざまな品質の拡張機能がたくさんありますが、コアはコンパクトでよく整理されています。


36
コアであるfwiwも非常に注意深く設計されています。コアのコアであるStackSetは、Coqの定理証明で検証されています(つまり、QCプロパティが保持されています)。病理デザインケアの一例です。
Don Stewart

6
@don:「良い」のような「病理学的」、いいえ?:)
Francesco

8
はい:-)スペンサーと私は私が関わってきたすべてのプロジェクトよりもxmonadコアのクラフトにもっと気をつけ。
ドン・スチュワート

18
  1. Haskell: Functional Programming with Types

    ジョエリ・ファン・イーケレン他 | ウィキブックス2007年発行、290ページ

  2. Learn You a Haskell for Great Good!

    ミラン・リポバカ| LearnYouaHaskell.com 2010年発行、176ページ

  3. Real World Haskell

    B.オサリバン、J。ゲルツェン、D。スチュワート| O'Reilly Media、Inc. 2008年発行、710ページ

  4. The Haskell Road to Logic, Maths and Programming

    キース・ドエツ、ヤン・ファン・アイク| 2004年に出版された大学出版物、449ページ


6
これらは本であり、実際のプロジェクトのソースファイルではありません。
2014

17

Darcsはオープンソースのソースコード管理システムです。Haskellに良いアイデアを与えるでしょう。


16
darcsにかなり取り組んできたので、そのソースコードはあまりお勧めしません。私がHaskellの良いスタイルだと思うものは使っていません。小さなコードベースが有機的に成長している間に大きくなるとどうなるか知りたければ、それは良い例だと思います。一貫したライティングスタイルまたは明確な設計目標を持つプログラムを見たい場合は、他の場所を探します。
Jason Dagit、2011年



5

GHCはおそらく、Haskellで書かれた最大のプロジェクトの1つであり、オープンソースです。最大とは、ソースのサイズだけでなく、インパクト、使用、革新、堅牢性という意味でもあります。GHCはHaskellを書くことについて多くをあなたに教えることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.