夜中からの Haskell 談義

Haskell 遅いんじゃないかって言ったら @tanakh 先生に教育的指導をして頂けました
26
前へ 1 ・・ 5 6
shelarcy(しぇらーしぃ) @shelarcy

[再掲] 遅延評価で高階関数が使えれば合成性のある I/O 処理を提供できるので、imperative な言語より表現力が高いというのが "Imperative functional programming" での主張です。 http://j.mp/2YWPHy

2011-04-12 19:37:34
Hideyuki Tanaka @tanakh

llvmもGHCは対応版を同梱すべきなんじゃないのかなあ…?

2011-04-12 19:43:48
shelarcy(しぇらーしぃ) @shelarcy

@tanakh Windows 版バイナリは対応版を同梱しても良いと思いますね。他の OS でやったら(主にインストールするバイナリサイズを気にする方から)怒られそうですが。

2011-04-12 19:46:21
shelarcy(しぇらーしぃ) @shelarcy

vector は元々 DPH ライブラリの内部実装として開発されているライブラリですからね。将来的には、repa の行列演算 API の上 [http://j.mp/f74jAw http://j.mp/58tzq7 ] に多次元配列 API を提供することになると思いますが。

2011-04-12 20:12:59
shelarcy(しぇらーしぃ) @shelarcy

現状では vector では直接多次元配列は扱えないけれど、repa などのラッパーライブラリを使えば(内部実装が vector な)多次元配列を扱えるよ、というところでしょうか。(まあ、repa のは行列演算 API ですが。)

2011-04-12 20:17:06
スマートコン @mr_konn

vector は parallel じゃないんですよね?

2011-04-12 20:17:14
shelarcy(しぇらーしぃ) @shelarcy

あとは、DPH の並列配列([::])で多次元配列 API を提供できるよう、速く型クラスとの連携可能なように DPH の vectoriser を改良してくださいという感じですね。

2011-04-12 20:22:18
shelarcy(しぇらーしぃ) @shelarcy

@mr_konn はい。vector は parallel じゃないです。なので、DPH ライブラリではあくまで dph-prim-seq の内部実装として利用されてます。 http://j.mp/h8p3oS

2011-04-12 20:31:40
スマートコン @mr_konn

@shelarcy なるほどなるほど。ありがとうございます!

2011-04-12 20:31:52
shelarcy(しぇらーしぃ) @shelarcy

@mr_konn GHC 7.0.xにDPHライブラリが同梱されなかった + DPHライブラリがリリースできてない都合上、 repa 2.0.0.x ではDPHライブラリからコードを持ってきて直接並列化してますが、基本的にはそんな感じですね。 http://j.mp/dOCE5p

2011-04-12 20:35:17
スマートコン @mr_konn

@shelarcy なるほど……。DPH の問題が早く解決するといいんですが……

2011-04-12 20:37:30
集会の自由 @oskimura

@shelarcy 最近のHaskellの配列処理ってvectorが主流なんですか? ですぞ。

2011-04-12 21:15:39
shelarcy(しぇらーしぃ) @shelarcy

@oskimura 文字列処理には bytestring や text の方が適しているので主流とまではいかないと思いますが、速い配列処理が欲しければ vector を使えという感じになってますね。

2011-04-12 21:26:14
shelarcy(しぇらーしぃ) @shelarcy

あっ、そうだ。これも再掲しておきましょう。

2011-04-12 21:26:48
集会の自由 @oskimura

@shelarcy 機械学習とか数値計算向けとかですかね? ですぞ。

2011-04-12 21:28:22
集会の自由 @oskimura

@shelarcy ありがとうございます。さっきのは気にしないでください ですぞ。

2011-04-12 21:33:46
shelarcy(しぇらーしぃ) @shelarcy

@oskimura ええと、一般的な用途向けですね。その辺を本気でやろうとするなら、GSL のラッパーとして提供されている hmatrix や並列処理向けの DPH、repa などの出番だと思います。

2011-04-12 21:34:26
集会の自由 @oskimura

@shelarcy すいません。ありがとうございます! ですぞ。

2011-04-12 21:34:55
前へ 1 ・・ 5 6