Hackage には多くのパッケージがあり、よく知られているもの (HUnit など) とあまり知られていないもの (AspectAG など) があります。どのパッケージが、より多くのユーザーに値する隠された宝石だとお考えですか? おそらく、有用なデータ構造、モナドのヘルパー、ネットワーク、テストなどでしょうか?
Hackage でお気に入りの「隠された宝石」パッケージはどれですか?
Oleg Kiselyov のIteratee。私はまだそれがどのように機能するかをよく理解していませんが、60,000 個のファイルをすばやく読み取る必要があり、通常の Haskell ファイル アクセス アプローチの理由を理解する時間がなかったときに、私の命を数回救ってくれました。とても遅いです。
また、Brian O'Sullivan のAttoparsecは、私の経験では、大規模なフラット ファイル データベースなどで Parsec よりもはるかに優れたパフォーマンスを発揮します。
これで、2 つを組み合わせることができます。
Conal Elliott のVector-spaceパッケージは、多くの線形代数関数を非常にうまくまとめており、型族に少し慣れてきました。
R よりも Haskell で作業したいので、Statistics (これも O'Sullivan によるもの) は便利でした。
ベクトル- 高速な配列が簡単になりました (私は Data.Array が好きではありません)。1つだけ投票できるとしたら、これが今の投票です。
徹底的なテストのためのLazy Small Check (論文も参照)。
Cereal - すべての一般的なデータ構造には、Binary および Serialize インスタンスが必要です。デッド コードをドロップするコンパイラを信頼してください。
meldable-heap - まだ使っていませんが、これはソフトウェアの開発方法の例です!
グラフ- 論文やプレゼンテーション用のグラフを作成するときに役立ちました。
Atom - 言い訳が欲しいのですが、まだ手に入れていません。
私がかなり頻繁に使用する、過小評価されている実用的なライブラリのいくつか:
私はdontライブラリが好きです:
main = don't $ do
name <- getLine
putStrLn $ "hello " ++ name
これは自己宣伝であることを前もって警告しますが、私のパッケージは私自身よりも多くのユーザーに値すると思います:)
つまり、timeplotはログから時系列をプロットするためのツールです。かなりの数の機能があります。詳細なチュートリアルを参照してください(内部にたくさんの写真があります)。
たとえば、これを使用して、応答時間の 25%、50%、および 90% の分位数に対する負荷の高いバックグラウンド プロセスの影響を調べることができます。または、1 日を通してオンラインのユーザー数を調べます。
これは「Unix 方式」で設計されています: 任意のログを取得し、それをプログラムの入力に変換する手早く簡単な awk または perl スクリプトを作成します (「イベント」で構成されます: 離散値インパルス、連続値インパルス)。インパルスの開始/停止)。
これは、ログ データの分析、特に特定の「インフラストラクチャ」パフォーマンスの問題の診断に非常に役立ちました。
私は間奏が好きです- それらの「head: undefined」メッセージが消えないときのために!