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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
920
(2): 2012/10/02(火)21:41 AAS
関数型言語で例示してるアルゴリズム本がほしい
921: 2012/10/02(火)22:11 AAS
>>920
「Pearls of Functional Algorithm Design」
すばらしい
922
(1): 2012/10/03(水)19:01 AAS
HashMapがあればMapやIntMapは退役?
923: 2012/10/03(水)19:14 AAS
>>922
退役かどうかは人によるだろ。
使用中のメモリの変化も違うし、計算速度も違う。

自分が書いたプログラムのMapやIntMapを使ってる部分をHashMapに変えて、
プロファイルを取ってみるといい。
924: 2012/10/03(水)20:28 AAS
はい(´・ω・`)
925
(2): 2012/10/04(木)22:04 AAS
>>920
そのものズバリの
"Algorithms: A Functional Programming Approach"
はどうですか?
926
(2): 2012/10/04(木)22:09 AAS
機械学習を専門としている博士課程の学生です。
C++を15年くらい使ってきました。
そしたら、とある本に
Haskellを使えばコーディング時間がC++の10分の1くらいになるよ
(実行速度はちょっと遅くなるけど)
と書いてあったので、Haskellを使ってみたいと考えています。
C++プログラマーがHaskellを勉強するには、どんな本がオススメでしょうか?

あと、本当にコーディング時間(デバッグ時間を含む)は
10分の1くらいになるのでしょうか?
927
(1): 2012/10/04(木)22:13 AAS
>>926
静的型付けが役に立つほど仕様が固まってデカイコードなの?
完成品はc++で約何行ぐらい?
928
(2): 2012/10/04(木)22:43 AAS
>>926
どの言語をやっていようが関係ない

・すごいHaskellたのしく学ぼう!
・Haskell: The Craft of Functional Programming (3rd Edition)

このどちらかの本で学べばいい

ところで、「とある本」とは何だ?
変なところで伏せずに、ちゃんと明かしなさい
929
(1): [―{}@{}@{}-] 2012/10/04(木)22:47 AAS
教養のためじゃなくてガチで使うなら>>5のThe Craftがおすすめ

>あと、本当にコーディング時間(デバッグ時間を含む)は
>10分の1くらいになるのでしょうか?
個人的には、C++と比較して1/10はかなり言いすぎに思える
体感的には1/2-1/3くらい
もちろん書くコードの種類や、言語の習熟度に強く依存するから、
1/10になるケースがないと主張するつもりはないけど
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
最適化オプション有りだとどんな名前のディレクティブが定義されるのでしょうか。
1-
あと 52 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.017s