20

絶対に知っておくべきライブラリ、関数、概念、および使用方法を知りたい。モナドとそこにある関数が典型的な例ですが、Arrows、Applicative など、コーディングで使用するのに適したプリミティブは他にもあります...それらは誰ですか?

ところで、私は Haskell の世界の最新情報を知りたいのですが、新しい概念を学びたいのですが、どうすればよいのでしょうか?

(元のタイトルは「コーディングのためのライブラリ プリミティブ」でしたが、変更されました)

4

3 に答える 3

18

Haskell エクスペリエンスを開始する最良の方法は、 Haskell Platformをインストールすることです。これには、私たちが重要だと考えるライブラリが多数含まれています。

基本システムに組み込まれている抽象化を調べると、学ぶ価値のあることがいくつかわかります。

そして、強力なツールを忘れないでください:

于 2011-05-14T17:53:13.020 に答える
16

知っておくべき基本的なライブラリ:

一般的なデータ中心のライブラリ:

知っておくべきパッケージ化された概念:

  • モナド、モナドトランスフォーマー (base、mtl を参照)
  • 適用可能 (ベースを参照)
  • 矢印 (ベースを参照)
  • ソフトウェア トランザクショナル メモリ ( stm )
  • 拡張可能な例外 ( ~GHC 6.8 以降の基本)
  • Haskell での動的プログラミング (base の Data.Typeable を参照)
  • Sparking ( parallelによる軽量な並列処理のヒント)
  • 同時実行性 (ベースの Control.Concurrent を参照)
  • メモ化 ( monad -memoMemoTrie )

準高度な概念:

テスト、ベンチマーク、およびインフラストラクチャ:

外部ツール、GHCヘルパー、GHC

  • スレッドスコープ
  • アレックス (レクサー)
  • happy (パーサージェネレーター)
  • ハドック(ドキュメンテーション システム)
  • Haskell プログラム カバレッジ ( HPC )
  • GHCマニュアル、次のような情報が含まれています
    • 異なるバックエンド
    • プロファイリング
    • デバッグ
    • 最適化
    • 言語拡張

タイプ中心の知識

  • GADT
  • ランクNタイプ
  • 存在論
  • 関数の依存関係と型ファミリー
  • このリストは延々と続く可能性がありますが、上記を知っていれば、どこを見ればよいかがわかります。

スタック オーバーフローの質問をせずに Haskell の最新情報を入手する方法:

  • ICFPPOPLが受理した論文を読む
  • ICFP と POPL によって却下された論文を読む (見つけた場合)
  • ソーシャル ネットワークに接続してください。
    • Twitter (Galois またはあなたが知っているランダムな Haskeller をフォローしている人をフォローすることから始めます)
    • レディット
    • スタック オーバーフロー (リンクが必要な場合は私にメッセージを送ってください)
  • ブログを読む (reddit またはplanet.haskell.orgからリンク)
  • haskell-cafeメーリング リストまたはIRCでの会話をフォローしてください。
  • Galois の半週ごとのテクニカル トークに参加する
于 2011-05-14T18:18:29.107 に答える
14

私はHaskell関連のもののリスト/グループ化を実際の重要性によって少し前に実際にスケッチしました。次のようになります。

Haskell Basics (何にでも必要)

  • 機能
  • 部分適用、カリー化
  • 再帰
  • 高階関数
  • 代数データ型
  • パターンマッチング
  • 型クラス
  • 種類
  • ファンクタ
  • IO モナド

実用的な必需品 (すべてを使用しない可能性がある場合でも、深刻な作業のためにこれらについて知る必要があるでしょう)

  • モナド
  • モナド変換器
  • FFI
  • 怠惰/厳格、BangPatterns など
  • GADT
  • タイプファミリー
  • 機能依存関係

必ずしも必要ではありませんが、おそらく有用です

  • 応用的
  • 上位ポリモーフィズム
  • 重複するインスタンス
  • レンズと代替記録システム (fcLabels とその他)
  • 繰り返します
  • 同時 Haskell (forkIO、MVars、...)
  • ソフトウェア トランザクショナル メモリ
  • テンプレートHaskell
  • ルール

課外活動(潜在的に魅力的ですが、まったく不要です)

于 2011-05-14T19:18:32.563 に答える