遅延評価で逐次処理が順番通りに動かなかったときとか、困った時に何か解決のヒントが無いかと探すと割と見つかる。
そんな本です。
最初から最後まで読む本ではなく、そういう感じでつまみ読みする本じゃないかなと。
実践的なので、入門書よりも困った時は助けられてます。
あくまでヒントというだけで、ちゃんと使おうとしたらネットでさらに詳しく調べないとですが、取っ掛かりとか基本的な使い方をこの本で見つける感じです。
GUIのライブラリをここで紹介されてるのを取っ掛かりに、ネットでインストールの仕方とか詳しいマニュアルを検索とか。
GUIライブラリの基本的な使い方は載ってるので、もっと凝った部品を使うのはネットのマニュアルで調べるけど、使い方自体は本に書いてる基本が使えるので使用例のソースコードが無くても何とか使えるとか。
ネットだけだと漠然とし過ぎて見つけるのに時間かかります。
String(=文字のリスト)が遅いからByteStringを使おうとか、何で速いのかとか、メリット・デメリットとか、そもそもこの本を読まないと何でそんなのが必要なのかとか分からないものもありますし。
せっかく有用な内容が多い日本語の本があるのに、訳がおかしいとか、誤字が多いとかで買わないのは惜しい。
純粋な部分は入門書できちんと学び、不純(副作用バリバリ)な部分をこの本でつまみ読みすると良いと思います。
間違ってもこの本だけで済まそうとか、読破しようとか思って買うものじゃないですが、手元に有るのと無いのじゃ出来るプログラムのパフォーマンスやデバッグで差が出るかと。

無料のKindleアプリをダウンロードして、スマートフォン、タブレット、またはコンピューターで今すぐKindle本を読むことができます。Kindleデバイスは必要ありません。
ウェブ版Kindleなら、お使いのブラウザですぐにお読みいただけます。
携帯電話のカメラを使用する - 以下のコードをスキャンし、Kindleアプリをダウンロードしてください。
Real World Haskell―実戦で学ぶ関数型言語プログラミング 大型本 – 2009/10/26
Bryan O'Sullivan
(著),
John Goerzen
(著),
Don Stewart
(著),
山下 伸夫
(翻訳),
伊東 勝利
(翻訳),
株式会社タイムインターメディア
(翻訳)
&
3
その他
関数型言語Haskellの実用的な書籍を作るプロジェクトから生まれた、「使える」Haskellプログラミングに重点を置いた実用書。Haskell を使って実際に何ができるのか、の視点から、多岐にわたるトピックを扱っています。型やモナドをはじめHaskell特有の言語仕様など基本的事項を押さえつつ、データベース、GUIプログラミング、システムプログラミング、バイナリフォーマットの解析、バーコード認識、並列プログラミング、ウェブアプリケーションの作成まで幅広い範囲をカバー。Haskellの可能性を拡げ限界に挑戦する、意欲的な一冊です。
- 本の長さ720ページ
- 言語日本語
- 出版社オライリージャパン
- 発売日2009/10/26
- 寸法18.5 x 3.3 x 23.5 cm
- ISBN-104873114233
- ISBN-13978-4873114231
この商品をチェックした人はこんな商品もチェックしています
ページ 1 以下のうち 1 最初から観るページ 1 以下のうち 1
商品の説明
著者について
Bryan O'Sullivan (ブライアン・オサリバン):分散システム、オープンソースソフトウェア、プログラミング言語が好きなアイルランド人ハッカー兼ライター。Jiniネットワークサービスアーキテクチャ立ち上げ時の設計チームの元メンバーです(Jiniはその後、Apache Riverとしてオープンソース化された)。広く使われているバージョン管理システムMercurialに多大な貢献をして、書籍も書いています。現在妻子とともにサンフランシスコ在住。チャンスがあればいつもロッククライミングに出かけています。
John Goerzen (ジョン・ゴレゼン):アメリカ人ハッカー兼ライター。多くのReal World Haskellライブラリとアプリケーションを書きました。具体的にはHDBCデータベースインタフェースやConfigFile設定ファイルインタフェース、ポッドキャストダウンローダー、そしてネットワーク、構文解析、ロギング、POSIXコードに関連するさまざまなライブラリなどが挙げられます。10年以上Debian GNU/Linuxプロジェクトに開発者として関わり、Debian用の多くのHaskellライブラリとコードをメンテナンスしています。また、Deianの母体組織であるSoftware in the Public Interest Inc.の会長も務めました。現在は妻子とともにカンザスに暮らし、写真とジオキャッシングを楽しんでいます。
Don Stewart (ドン・スチュワート):オレゴン州ポートランドを拠点として活躍するオーストラリア人ハッカー。Data.Byte-StringやData.Binaryライブラリのような、実用的なライブラリをはじめとする幅広いHaskellプロジェクトに関わっています。また、ほかにもHaskellの哲学を実世界のアプリケーション―コンパイラ、リンカ、テキストエディタ、ネットワークサーバ、システムソフトウェアなど―に適用することにも関わっています。最近は、書き換えのテクニックを使って性能を高めるHaskellの最適化に焦点を当てています。
John Goerzen (ジョン・ゴレゼン):アメリカ人ハッカー兼ライター。多くのReal World Haskellライブラリとアプリケーションを書きました。具体的にはHDBCデータベースインタフェースやConfigFile設定ファイルインタフェース、ポッドキャストダウンローダー、そしてネットワーク、構文解析、ロギング、POSIXコードに関連するさまざまなライブラリなどが挙げられます。10年以上Debian GNU/Linuxプロジェクトに開発者として関わり、Debian用の多くのHaskellライブラリとコードをメンテナンスしています。また、Deianの母体組織であるSoftware in the Public Interest Inc.の会長も務めました。現在は妻子とともにカンザスに暮らし、写真とジオキャッシングを楽しんでいます。
Don Stewart (ドン・スチュワート):オレゴン州ポートランドを拠点として活躍するオーストラリア人ハッカー。Data.Byte-StringやData.Binaryライブラリのような、実用的なライブラリをはじめとする幅広いHaskellプロジェクトに関わっています。また、ほかにもHaskellの哲学を実世界のアプリケーション―コンパイラ、リンカ、テキストエディタ、ネットワークサーバ、システムソフトウェアなど―に適用することにも関わっています。最近は、書き換えのテクニックを使って性能を高めるHaskellの最適化に焦点を当てています。
登録情報
- 出版社 : オライリージャパン (2009/10/26)
- 発売日 : 2009/10/26
- 言語 : 日本語
- 大型本 : 720ページ
- ISBN-10 : 4873114233
- ISBN-13 : 978-4873114231
- 寸法 : 18.5 x 3.3 x 23.5 cm
- Amazon 売れ筋ランキング: - 803,183位本 (本の売れ筋ランキングを見る)
- カスタマーレビュー:
著者について
著者をフォローして、新作のアップデートや改善されたおすすめを入手してください。
著者の本をもっと発見したり、よく似た著者を見つけたり、著者のブログを読んだりしましょう
著者の本をもっと発見したり、よく似た著者を見つけたり、著者のブログを読んだりしましょう
著者の本をもっと発見したり、よく似た著者を見つけたり、著者のブログを読んだりしましょう
-
トップレビュー
上位レビュー、対象国: 日本
レビューのフィルタリング中に問題が発生しました。後でもう一度試してください。
2010年11月25日に日本でレビュー済み
読みはじめた当初は理解できない箇所がたくさんありました。
そのたびに翻訳が悪いということにしておきましたが、
ほとんどの箇所は繰り返し執念深く熟読することにより理解することができました。
注意点としては、いくつかのバグがあることくらいです。
例えば12.2.2のfoldA1はバグです。
a = listArray (0,3) [1,2,3,4]
foldA (+) 0 a ==> 10
foldA1 (+) a ==> 11
b = listArray (0,3) [0,1,2,3]
foldA (+) 0 b ==> 6
foldA1 (+) b ==> 6
c = listArray (0,3) [0,1,2,3]
foldA (*) 1 c ==> 0
foldA1 (*) c ==> 0
つまり、listArrayに渡すリストの最初の要素が、
畳み込み関数に渡す2項演算子の単位元でないと、
必ずしも意図したとおりの動作をしません。
他にもごく少数のバグが含まれていますが、
この書籍を一生懸命読んでいれば自分で修正できる程度のもので、
いいエクササイズです。
努力して読んだだけに思い出の一冊になりました。
そのたびに翻訳が悪いということにしておきましたが、
ほとんどの箇所は繰り返し執念深く熟読することにより理解することができました。
注意点としては、いくつかのバグがあることくらいです。
例えば12.2.2のfoldA1はバグです。
a = listArray (0,3) [1,2,3,4]
foldA (+) 0 a ==> 10
foldA1 (+) a ==> 11
b = listArray (0,3) [0,1,2,3]
foldA (+) 0 b ==> 6
foldA1 (+) b ==> 6
c = listArray (0,3) [0,1,2,3]
foldA (*) 1 c ==> 0
foldA1 (*) c ==> 0
つまり、listArrayに渡すリストの最初の要素が、
畳み込み関数に渡す2項演算子の単位元でないと、
必ずしも意図したとおりの動作をしません。
他にもごく少数のバグが含まれていますが、
この書籍を一生懸命読んでいれば自分で修正できる程度のもので、
いいエクササイズです。
努力して読んだだけに思い出の一冊になりました。
2020年12月4日に日本でレビュー済み
polymorphism との対比からか知らないが、
monomorphism を「単相性」と訳すのはやめていただきたい。
原著は、オンラインで無料アクセス可。
monomorphism を「単相性」と訳すのはやめていただきたい。
原著は、オンラインで無料アクセス可。
2014年10月27日に日本でレビュー済み
何の説明もなく新しい演算子が出てきたり、話が横道にそれたりと、読みづらい本です。また、複雑な割には
あまり魅力的でない例題が随所に登場し(JSONのデータ操作やバーコード認識等)、読む気をそがれます。
他の本(「すごいHaskellたのしく学ぼう!」とか)を補完する目的で使うとしても、索引が充実しているとは言い難く、
辞書的に使うのも難しいです。
オライリーは色々買ってきましたがこれほど外れたことは記憶にないです。Haskellの普及の障害になっているのでは
ないかとさえ思えます。Haskellの言語自体はこの本の解読ほど難しくはないと思いますので、この本で挫折した人は
他の本でチャレンジをおすすめします。
あまり魅力的でない例題が随所に登場し(JSONのデータ操作やバーコード認識等)、読む気をそがれます。
他の本(「すごいHaskellたのしく学ぼう!」とか)を補完する目的で使うとしても、索引が充実しているとは言い難く、
辞書的に使うのも難しいです。
オライリーは色々買ってきましたがこれほど外れたことは記憶にないです。Haskellの普及の障害になっているのでは
ないかとさえ思えます。Haskellの言語自体はこの本の解読ほど難しくはないと思いますので、この本で挫折した人は
他の本でチャレンジをおすすめします。
2012年7月16日に日本でレビュー済み
この本のよいところは、コーディングの指針やコンパイル、QuickCheck による性質テストのやり方など
実践的なことを広く勉強できることです。
しかし、本書に手を出す前に「すごいHaskellたのしく学ぼう!」など、他書を読んでおくことを薦めます。
本書は決して分かりやすくはありません。
内容が体系立っておらず、基本的な項目の説明がくどかったり、
詳しく説明して欲しい箇所ほど説明が浅かったりします。
翻訳については、第11章だけが読み難く感じますが、その他は問題ありません。
本書でとりわけ難解だったのが、12章のバーコード認識のプログラム(特に解マップ関連)です。
もう少し簡単な題材でも良かったと思います。
第10章のモナドの導入も自然ではなく、私にとっては、強引に感じられました。
その章に書かれたパーサーのコードは、モナドを説明する前に、陰にモナドを利用しています。
そのため、モナドを知らないで読むと、それぞれの関数の意図を把握するのが難しいと思います。
モナドについて学ぶには、先にあげた「すごいHaskellたのしく学ぼう!」も良いですが
Web上にも良質のドキュメントがあります。
なかでも「Typeclassopedia 日本語訳」は素晴らしいドキュメントでした。
ブログ「すぐに忘れる脳みそのためのメモ」もおすすめです。
Stateモナドを理解するのに、このブログの「Haskell の State モナド (1) - 状態を模倣する」の記事が参考になりました。
それから「モナモナ言わないモナド入門」は概念の整理に役立ちます。
本書は、説明は分かりづらいですが、Haskell を使いこなしたい人にとっては
(代替本もないので)読む価値があると思います。
実践的なことを広く勉強できることです。
しかし、本書に手を出す前に「すごいHaskellたのしく学ぼう!」など、他書を読んでおくことを薦めます。
本書は決して分かりやすくはありません。
内容が体系立っておらず、基本的な項目の説明がくどかったり、
詳しく説明して欲しい箇所ほど説明が浅かったりします。
翻訳については、第11章だけが読み難く感じますが、その他は問題ありません。
本書でとりわけ難解だったのが、12章のバーコード認識のプログラム(特に解マップ関連)です。
もう少し簡単な題材でも良かったと思います。
第10章のモナドの導入も自然ではなく、私にとっては、強引に感じられました。
その章に書かれたパーサーのコードは、モナドを説明する前に、陰にモナドを利用しています。
そのため、モナドを知らないで読むと、それぞれの関数の意図を把握するのが難しいと思います。
モナドについて学ぶには、先にあげた「すごいHaskellたのしく学ぼう!」も良いですが
Web上にも良質のドキュメントがあります。
なかでも「Typeclassopedia 日本語訳」は素晴らしいドキュメントでした。
ブログ「すぐに忘れる脳みそのためのメモ」もおすすめです。
Stateモナドを理解するのに、このブログの「Haskell の State モナド (1) - 状態を模倣する」の記事が参考になりました。
それから「モナモナ言わないモナド入門」は概念の整理に役立ちます。
本書は、説明は分かりづらいですが、Haskell を使いこなしたい人にとっては
(代替本もないので)読む価値があると思います。
2009年12月29日に日本でレビュー済み
Amazonで購入
Haskellについては今まで興味があり、ふつうのHaskellなども読んでいたが、いまいちピンと来ていませんでした。
特にモナドについてはふつうのHaskellにも説明はあるのですが、きちんと理解できている実感がなく、この本で学習しようと思い購入しました。
本書籍については実践的な内容ということで色々なテーマについて書かれています。
バーコードリーダの話からGlobツールなど色々ありますが、それぞれの章を読み進めて、コードを書いていくと自然とモナドについて導入されているため、モナドの必要性について自然と理解していくことができました。
特にモナドの説明としては通常Maybeモナド、Listモナドなどから説明される書籍などが多いですが、Stateモナドから導入していく説明は秀逸だと思います。
結果として逐一各章のコードをまねながら自分でコーディングしながら読み進めることによってHaskellのコーディングが身にしみこみ、なおかつモナドの発想についてだいぶ理解が進んだと思います。
Haskell勉強しているけど、モナドとかいまいちわからないな、と思っている方は是非読むといいと思います。
特にモナドについてはふつうのHaskellにも説明はあるのですが、きちんと理解できている実感がなく、この本で学習しようと思い購入しました。
本書籍については実践的な内容ということで色々なテーマについて書かれています。
バーコードリーダの話からGlobツールなど色々ありますが、それぞれの章を読み進めて、コードを書いていくと自然とモナドについて導入されているため、モナドの必要性について自然と理解していくことができました。
特にモナドの説明としては通常Maybeモナド、Listモナドなどから説明される書籍などが多いですが、Stateモナドから導入していく説明は秀逸だと思います。
結果として逐一各章のコードをまねながら自分でコーディングしながら読み進めることによってHaskellのコーディングが身にしみこみ、なおかつモナドの発想についてだいぶ理解が進んだと思います。
Haskell勉強しているけど、モナドとかいまいちわからないな、と思っている方は是非読むといいと思います。
2010年4月2日に日本でレビュー済み
「ふつうのHaskellプログラミング」と「入門Haskell」しか和書がなかった頃に「ふつうのHaskell…」を購入し、しばらく悶々とした後にやっぱり洋書に手を出すしかないかと諦めていた頃、この本を購入しました。
が、先走りすぎたかと半ば後悔しています。というのも「もしかして著者は読者を惑わせるつもりでこの本を書いたのではないか?」とか、「こういう可読性の低いコードを書くのがHaskellの流儀なのかね」といった皮肉のひとつでも出てきそうなほど読者に不親切ですから。
ざっと100ページ目まで読み進めてきましたが、説明が不正確(この本だけ読むとlet式とwhere句は可換性があると捉えられかねない)だし、ghciを使うことを前提にしていることもあってかサンプルコードがぶつ切りだし(その上ghciにロードしておかねばならないモジュールが足りなかったりする)、無駄に文章が……どころかサンプルコードすら回りくどい(「干し草から針を見つけろ」と、Perl詩を書いてるわけじゃあるまいし、わざわざサンプルコードにする必要があるのか!?)しと、腹が立つところをあげるときりがありません。その上、言葉遣いが下品なのがさらにポイントを下げています。
…………そして結局、Haskellを覚えたいのでこのまま読み進めるつもりでしたがいちいち「これは何が言いたいのだろう」と悩むのに疲れてしまいました。評価の方は、おそらく二度と読むことはないだろう500ページ強のうちに、「読んでおけば良かった」という箇所があることを期待して、3個……と最初はしていたのですが、読み直せば読み直すほど無駄に混迷に叩き込まれるので、星ひとつに修正。
他の人が書いてるとおり、この本がすらすら読めるようになる頃にはこんな本は不要になるでしょう。そんな内容です。
(ただし、こちらはHaskell「が」難解だとは思っちゃいませんが。むしろ使って楽しい言語なので余計にこの本が許せません!)
が、先走りすぎたかと半ば後悔しています。というのも「もしかして著者は読者を惑わせるつもりでこの本を書いたのではないか?」とか、「こういう可読性の低いコードを書くのがHaskellの流儀なのかね」といった皮肉のひとつでも出てきそうなほど読者に不親切ですから。
ざっと100ページ目まで読み進めてきましたが、説明が不正確(この本だけ読むとlet式とwhere句は可換性があると捉えられかねない)だし、ghciを使うことを前提にしていることもあってかサンプルコードがぶつ切りだし(その上ghciにロードしておかねばならないモジュールが足りなかったりする)、無駄に文章が……どころかサンプルコードすら回りくどい(「干し草から針を見つけろ」と、Perl詩を書いてるわけじゃあるまいし、わざわざサンプルコードにする必要があるのか!?)しと、腹が立つところをあげるときりがありません。その上、言葉遣いが下品なのがさらにポイントを下げています。
…………そして結局、Haskellを覚えたいのでこのまま読み進めるつもりでしたがいちいち「これは何が言いたいのだろう」と悩むのに疲れてしまいました。評価の方は、おそらく二度と読むことはないだろう500ページ強のうちに、「読んでおけば良かった」という箇所があることを期待して、3個……と最初はしていたのですが、読み直せば読み直すほど無駄に混迷に叩き込まれるので、星ひとつに修正。
他の人が書いてるとおり、この本がすらすら読めるようになる頃にはこんな本は不要になるでしょう。そんな内容です。
(ただし、こちらはHaskell「が」難解だとは思っちゃいませんが。むしろ使って楽しい言語なので余計にこの本が許せません!)
2009年12月1日に日本でレビュー済み
ふつうのHaskellでは語られていないことが細かく書かれている。
:typeなどのghciのサブコマンドも随所に出てきて、Haskellで
プログラミングする上で必要なTips、知識が身に付く。
また、なぜ関数型なのか、なぜ型があるのか
これらの疑問にも明快に書き下している。
より実践的にHaskellを使いこなすには良い本だと思う。
:typeなどのghciのサブコマンドも随所に出てきて、Haskellで
プログラミングする上で必要なTips、知識が身に付く。
また、なぜ関数型なのか、なぜ型があるのか
これらの疑問にも明快に書き下している。
より実践的にHaskellを使いこなすには良い本だと思う。