[過去ログ] 関数型プログラミング言語Haskell Part19 (1001レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
930
(1): 2012/10/04(木)23:12 AAS
15年使って慣れたパラダイムを離れるんだからな
コーディング時間が数分の1になっても元は取れないかもしれない
931
(1): 2012/10/04(木)23:18 AAS
機械学習だとCにはあってもHaskellには無いライブラリが
沢山ありそうだからそれも書くことになる
932
(1): 2012/10/04(木)23:31 AAS
まあライブラリはFFIで呼ぶとして、
実行速度のパフォーマンスが出ないときのチューニングがキツい予感
933: 2012/10/04(木)23:41 AAS
対象データが大きいときついね。
たかだか百万エッジ程度のグラフでも色々工夫しないとメモリ不足になるかGCばかり走る状態になる。
934: 2012/10/04(木)23:50 AAS
>>927
行数はわかりませんが、Hadoopくらいの複雑さを想定しています。
単体法や内点法のような数値計算もガリガリ書いています。

静的型付けが必要かと言われると、ちょっとわかりません。
数値計算部分はmatlabで書いたりするので。

>>928
情報ありがとうございます。
>>929さんも推薦しているので、
craftを買ってみようと思います。

とある本とは、非公開会議の資料なので、伏せさせてください。
省10
935: 2012/10/04(木)23:59 AAS
>>928
・すごいHaskellたのしく学ぼう!
こっちもすごく良さそうですね!!
しかも、日本語なら少しだけ速く読めるので、
こっちがいいのかな・・・悩ましい・・・
936: 2012/10/05(金)00:04 AAS
チューニング時間が10倍になって相殺される
937: 2012/10/05(金)00:18 AAS
「すごいHaskellたのしく学ぼう!」が今のところ日本語の書籍ではダントツだと思うけど
C言語とかにどっぷり浸かってる人なら「ふつうのHaskellプログラミング」もいいと思うよ
938: 2012/10/05(金)03:16 AAS
初めて知ったが、面白そうなんで貼ってみる。
外部リンク:www.well-typed.com
The New Cloud Haskell
939
(1): 2012/10/05(金)13:22 AAS
>>925
これ絶版ですかね (´・ω・`)
940: 2012/10/06(土)17:24 AAS
>>939
Amazon UK でまだ売ってる。

本体は38.99ポンド

通常発送(遅い方)の場合、
Amazon UK の設定するレートなら6196円で買える。
ポンドで買う(カード会社がレート設定する)なら46.97ポンド。
941: 2012/10/06(土)23:21 AAS
>>925
読んだこと無いけど米密林では評判悪いね
942
(1): 2012/10/07(日)00:48 AAS
「Algorithms: A Functional Programming Approach」はアルゴリズムというよりは、
どちらかというとアルゴリズムを最適化するテクニックを多く学べる感じだ。

第3章からが本番。
関数の簡約の様子が詳しく書かれている。
所々、おまけでヒープの変化の様子を描いた図もある。
Burstall-Darlington 変換の考え方が学べる。

第4章のListの節はなかなか面白かった。
細かな最適化の話なんだが、関数合成時の中間データを省くテクニックや、
計算速度的には余計な結合演算(++)を取り除いたりするテクニックが学べる。
(後者はちょっと目から鱗だった)
省12
943
(1): 2012/10/07(日)00:51 AAS
一方「Pearls of Functional Algorithm Design」の方は、
各章毎に最初に「**がしたい」という課題が提示され、
その問題を解決するアルゴリズムをチープなものからハイレベルなものへと
徐々に進化させながら解説する本だ。

各章で、たいていは最初に "specification" と言って、
その問題の解を導く関数が持つべき性質が Haskell の文法で示される。
で、その specification を素直に満たす関数をまず作り、
そして、どこがなぜ非効率なのかを解説しながら少しずつ改良させていくわけだ。

ちになみに、タイトルには無いが、こちらも Haskell の本だよ。
944: 2012/10/07(日)04:00 AAS
ゆうくんはHaskell本のだいせんせいなんだねぇ
945: 2012/10/07(日)07:18 AAS
>>942,943
くわしい解説ありがとう!
946: 2012/10/07(日)08:45 AAS
へーどっちも結構面白そうだな
おらなんだか欲しくなってきたぞ
947
(1): 2012/10/08(月)13:12 AAS
ghcにおいて、最適化オプションの有無によって
コンパイルするコードを変える事はできるでしょうか。

例えば、#ifdef #else #endif で分けるとか。
948
(1): 2012/10/08(月)13:42 AAS
>>947
C Pre-processor はどの言語でも使える嫌われてもいいのならバンバン使えばよい
949
(1): 2012/10/08(月)13:48 AAS
>>948
最適化オプション有りだとどんな名前のディレクティブが定義されるのでしょうか。
950
(1): 2012/10/08(月)14:14 AAS
>>949
いや、.hs を c の処理系ならもれなくついてくる cpp にかければいいというだけだ
cpp の持っているディレクティブならなんでも使えるはずだ
外部リンク:en.wikipedia.org

嫌われても知らない
951
(1): 2012/10/08(月)14:20 AAS
プラグマ
外部リンク[html]:www.kotha.net
外部リンク[html]:www.haskell.org
952: 2012/10/08(月)15:30 AAS
>>950
c の処理系ならもれなくついてくる cpp にかければいいと言いますが、
ghc なら -XCPP オプションを付ければ .hs ファイルの中で #ifdef などが直接使えるので、
あとは最適化オプションを付けたときに、ghc 側でどのようなディレクティブが
自動で定義されるかが分かればできそうです。

それが分からないんですけどね。

>>951
プラグマを使って最適化時にコンパイルするコードを変える方法が
載っていないような気がするのですが、見落としてますでしょうか。
953: 2012/10/08(月)18:58 AAS
まともな方法はないと思う
理論的には、Template Haskellは任意のIOを実行できるので、
OSの機能を使ってGHCに渡されてるオプションを調べたり、
デバッガを起動してGHCのメモリ内容を見たりすることは可能
954
(1): 2012/10/08(月)19:17 AAS
そういうのはビルド環境のツールでやればいい。
CabalとかSetup.hsとかmakeとか。
コンパイラになんでも詰め込んでしまうとろくなことない。
955: 2012/10/08(月)19:31 AAS
>>954
コンパイラでやるのと Cabal でやるのとで、何か違いがあるのですか?
956: 2012/10/09(火)10:51 AAS
baka
957: 2012/10/09(火)12:13 AAS
AA省
958: 2012/10/09(火)23:44 AAS
#lineディレクティブってghcは認識してくれるんだっけ?
959: 2012/10/09(火)23:50 AAS
自分で調べろカス
1-
あと 42 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.023s