Google
ブログ(iiyu.asablo.jpの検索)
ホットコーナー内の検索
 でもASAHIネット(asahi-net.or.jp)全体の検索です。
 検索したい言葉のあとに、空白で区切ってki4s-nkmrを入れるといいかも。
 例 中村(show) ki4s-nkmr

ウェブ全体の検索

Real World Haskell―実戦で学ぶ関数型言語プログラミング2009年10月23日 08時45分25秒

ASAHIネット(http://www.asahi-net.or.jp )のjouwa/salonからホットコーナー(http://www.asahi-net.or.jp/~ki4s-nkmr/ )に転載したものから。
---
http://iiyu.asablo.jp/blog/2009/02/13/4115774
プログラミング言語本
で、名前を出し、
http://iiyu.asablo.jp/blog/2009/06/16/4368021
やっと出たClojure本、Scala本。ScalaのウェブフレームワークLift本も
で、オライリージャパンの矢野さんが、秋に出るとコメントに書いてくださっ
ていた「Real World Haskell」の翻訳がやっと出ました。
 まだ、アマゾンは予約受付状態ですが。
http://www.amazon.co.jp/exec/obidos/ASIN/4873114233/showshotcorne-22/
Real World Haskell―実戦で学ぶ関数型言語プログラミング (大型本)
Bryan O'Sullivan (著), John Goerzen (著), Don Stewart (著), 山下 伸夫
(翻訳), 伊東 勝利 (翻訳), 株式会社タイムインターメディア (翻訳)

、気にはしていて、オライリージャパンのサイトをときどきみていたけど、10
月の半ばを過ぎても、まだ予定のままで新刊情報になってなかった。母の3回
忌や九大に行ったりでばたばたして会社を数日休んで、一昨日、会社に行った
ら、現物が矢野さんから送られて来ていました。
 矢野さん、ありがとうございます。
 できたてほやほやで、紙の手触りとインクの香りがとてもいい。これは、電
子書籍にはないよねえ。

 本書は、上記の「プログラミング言語本」や「やっと出たClojure本、Scala
本。ScalaのウェブフレームワークLift本も」で書いたことの繰り返しになる
が、
http://iiyu.asablo.jp/blog/2008/07/18/3633573
Peter Seibel著「実践Common Lisp」
で紹介した
http://www.amazon.co.jp/exec/obidos/ASIN/4274067211/showshotcorne-22/
実践Common Lisp (単行本(ソフトカバー))
Peter Seibel (著), 佐野匡俊 (翻訳), 水丸淳 (翻訳), 園城雅之 (翻訳), 金
子祐介 (翻訳)
とコンセプトは似ています。
 世の中、まだまだ、「関数型プログラミングって難しそう」「どうせ、学者
がやってる現場で使えない遊びでしょ」といった印象をもっている人が多いよ
うですね。
 マシンのパワーがないころは、Lispだって遅いと言われてたけど、ネイティ
ブコンパイルが当たり前のLispより遙かに遅い、JavaScript, Perl, Pythonや
Rubyなどスクリプト言語が実用になってるのが現在。
 少々の速さより、書きやすく読みやすくバグが出にくい言語で書いた方が、
生産性が高くていいという世の中にやっとなってるわけです。
 さらにマルチコア、マルチプロセッサが個人レベルでも当たり前になってき
たけれど、副作用のない関数型プログラミングは、それとも相性がいい。
 だから、これまでもたびたび紹介してきて、人気になっているErlangや
Scalaも関数型プログラミングもできるし、Prolog的なパターンマッチもでき
るし、マルチコアをにらんだ機能が入っているなど、いろいろ進化・融合した
言語になっているわけです。当然、Lispもそうですけどね。
 脱線するけど、C++にすら、Lispでは当たり前のクロージャやラムダが入る
んですよ。びっくりですよね。Javaにもクロージャを入れるという話もあるし。
 そんなこんなで、もう、関数型プログラミングは大学の研究室でやってるだ
けじゃなくて、現場でも実用的なメリットがあるよということを、実際のコー
ドで示して、現場のプログラマにもわかってもらおうというのが、「実践
Common Lisp」や今回の「Real World Haskell」です。
 JavaScript, Perl, PythonやRubyといった手続き型(命令型)の言語に慣れて
いると、関数型プログラミングは、ちょっと発想の転換が必要になるところが
あるけれど、実際にやればわかるように、それはちょっとしたことなので、臆
さず挑戦してください。

 Haskell公式サイトは、
http://www.realworldhaskell.org/blog/
Real World Haskell公式サイト
 目次などは、
http://www.oreilly.co.jp/books/9784873114231/
をどうぞ。
 昨日、ざっと本書をめくりましたが、実用的なプログラムを書く前半も書き
っぷりがいいと思ったけれど、14章や18章のモナド関係、15章のParsecという
パーサコンビネータの解説、24章の並行マルチコアプログラミング、28章のソ
フトウェア・トランザクショナル・メモリなどは、興味つんつんですね。
 興味津々(きょうみしんしん)だろ。
 はい、そうです。
 Parsecは、
http://www.lab2.kuis.kyoto-u.ac.jp/~hanatani/tmp/Parsec.html
Parsec, 高速なコンビネータパーサ
に翻訳がありますね。
 ソフトウェア・トランザクショナル・メモリ(STM)のことは、
http://iiyu.asablo.jp/blog/2008/04/17/3164685
読むべし!「ビューティフルコード」
http://iiyu.asablo.jp/blog/2008/02/29/2672473
注目のコンピュータサイエンス本
でちょっと触れているし、後者は、Wikipediaのリンクを書いていますね。
http://iiyu.asablo.jp/blog/2009/03/11/4169022
JVM上新Lisp Clojureのこと, Scalaも
では、Clojureは、ソフトウェア・トランザクショナル・メモリ(STM)を言語レ
ベルでサポートしていることを紹介しています。STMを取り込んだのは、マル
チコアをにらんだ設計ですね。
 Clojureも何度も言及しているけれど、現在は、
http://www.amazon.co.jp/exec/obidos/ASIN/1934356336/showshotcorne-22/
Programming Clojure (ペーパーバック)
Stuart Halloway (著)
がバイブルでしょう。

 Real World Haskellについては、まだ、書きたいことがあるけど、今日はこ
こまで。
 これも矢野さんから教わったけれど、山本和彦君が、Haskell本を翻訳して
いて、もうすぐオーム社から出ます。
http://d.hatena.ne.jp/kazu-yamamoto/20091016/1255671399
Haskell本の翻訳書

 それから、Haskellのイベントがあります。詳しくは、
http://hop.timedia.co.jp/
の「へそまがり算法騎士團プレゼンツ Haskellナイト」や
http://tcc.nifty.com/cs/catalog/tcc_schedule/catalog_091019202637_1.htm
Haskell Night
をどうぞ。
 以前の、Gauche Nightみたいなものですね。
http://iiyu.asablo.jp/blog/2007/06/29/1613199
Gauche Night

 ところが、この11/20って、おれ的には都合が悪いんですよね。
 大体、11/19と11/20で、数理システムとFranzのLispセミナーがあるんです。
 いま、
http://jp.franz.com/index.html
に行くと、
2009年度 「2日間みっちり!Lispチュートリアル&事例紹介セミナー」
の募集があるでしょ。もう申し込んだ。\(^O^)/
 詳しい内容は、
http://jp.franz.com/base/seminar-2009-11-20.html
にあります。
 ね、世の中の流れを受けて、Lispも話題は並列Lisp(Parallel Lisp)ですよ。

2009/11/22追記:
 山本和彦君が翻訳していたHaskell本は、めでたく出版されました。
http://www.amazon.co.jp/exec/obidos/ASIN/4274067815/showshotcorne-22/
プログラミングHaskell (単行本(ソフトカバー))
Graham Hutton (著), 山本 和彦 (翻訳)
です。 詳しくは、
http://iiyu.asablo.jp/blog/2009/11/20/4707070
Haskellナイト、Graham Hutton著、山本和彦訳「プログラミングHaskell」
をどうぞ。