私が必要なものは何?[順不同リスト]
- 非常に簡単な並列化
- マップ、フィルターなどのサポート
- A=B+C のような配列ベースの計算を効率的に実行する機能。matlab 配列のようなものです。
- SIMD コードの生成。近い将来、これは問題外だと思いますが、ちょっと聞いてみましょう:)
- マトリックスのサポートは最低限必要です。現在、より高い次元は優先度が低くなります。
- それへのポインターを取得し、C ポインターから作成する機能。
- 他のライブラリからのサポート。IE、一般的な C 数学パッケージへのバインド、ディスクまたはイメージへの I/O (配列が 2D の場合)
何が見えますか?
- haskell-platform の配列パッケージ。それは祝福されたものであり、並行して行うことができます
- データ.ベクトル。ループ フュージョンはありますが、プラットフォームには含まれていないため、その成熟度は不明です。
- DPH チームによって提供された repa パッケージですが、現在、安定した ghc ではうまく動作しません。
- 配列実装のサポート レベルにはさまざまなバリエーションがあります。たとえば、2D ベクトルを画像ファイルにダンプする簡単な方法はないようです。IOW、haskell コミュニティはどうやら配列の実装に落ち着いていないようです。
ですから、選択を手伝ってください。
EDIT A=B+C は、リストの連結ではなく、要素ごとの追加を指します