〜Haskellで学ぶ〜関数プログラミングことはじめ

技術評論社 Software Design 2009年04月号 特別企画

目次

  1. Haskellと関数プログラミング
    • 関数プログラミングという考え方
  2. Haskellプログラミングの基礎知識
    • プログラミングの進め方,改良,抽象化
  3. Haskellの開発環境構築
    • Glasgow Haskell Compiler, Emacs, cabal-install
  4. 実践!Haskellプログラミング【前編】
    • TwitterのAPIをたたいてみよう
  5. 実践!Haskellプログラミング【後編】
    • Twitterボットアプリの作成

エラッタ

p.121 左段サンプルコードの直後のパラグラフ2行目

訂正前

....2行目が関数の定義で,

訂正後

....2行目以降が関数の定義で,

p.122 左段「GHCiの終了」節の直前のパラグラフ1行目

訂正前

...はHaskellの仕様が規定され

訂正後

...はHaskellの仕様で規定され

p.122 右段 GHCiで「109 * 45」の計算をした直後

訂正前

4,095円になることがわかります....

訂正後

4,905円になることがわかります....

p.123 左段「GHCiのコマンド」節の直前のパラグラフ2行目

訂正前

後に評価した式の...

訂正後

後より1つ前で評価した式の...

p.124 表1 Haskellの識別子

2段目の種類の欄

訂正前

型構成子型シノニム

訂正後

型構成子,型シノニム

3段目の例の欄

訂正前

True, False, Just, Nothing

訂正後

True, False, Just, Nothing など

p.126 左段2つ目のパラグラフ2行目

訂正前

....すなわち,upperStrを「"abc"」に

訂正後

....すなわち,upperStrを"abc"に

p.126 右段 upperStrの定義直後のパラグラフ3行目

訂正前

「toUpper c : upperStr cs」は(toUpper c) : (upperStr cs)

訂正後

toUpper c : upperStr cs は (toUpper c) : (upperStr cs)

p.128 右段 最後から2行目

訂正前

uuperStrとlowerStrの定義は...

訂正後

upperStrとlowerStrの定義は...

p.132 右段 関数合成(.)の定義の直後のパラグラフ2行目

訂正前

ntrees n = length (ntrees n)

訂正後

count n = length (trees n)

p.132 右段 関数合成(.)の定義の後の2つ目のパラグラフ差し替え

訂正前

長さを数えるだけなのに,なにもきまじめに木を作成しなくてもいいだろうというわけです.

訂正後

残念ながらこれでは数を数えるだけなのにきまじめに木を作成しているので,効率は悪いのです.そこで木を実際には生成しないで数えることを考えましょう.

TwitterReplyBotアプリについて

現在最新のHTTPモジュール(バージョン4000.0.4)ではRequestおよびResponseの型が型変数aでパラメータ化されており、 プログラムのロードに失敗します。
ロードできるように修正したバージョンは下記からダウンロードしてください。

TwitterReplyBot最新ソース

あらたにご指摘いただいたエラッタです.(3/31にメールを頂きました.ありがとうございます.)

p.123 左段サンプルコード 下から5行目

訂正前

".selpmas ..."

訂正後

".elpmas ..."

p.123 左段サンプルコード 下から4行目

訂正前

lenth it

訂正後

length it

p.124 リスト1 下から2行目

訂正前

upper は

訂正後

upperStr は

p.129 右段 図2 n=3 の木

訂正前

a (→ a → a)

訂正後

a → (a → a)

p.132 右段 上から2行目

訂正前

図2.2の

訂正後

図2の

訂正後*** p.136 左段 最初の段落 下から2行目

訂正前

Proc が何をするかは...undefinedとしておきます

訂正後

proc が何をするかは...undefinedとしておきます

p.136 右段 最初のサンプルコード

訂正前

Proc = cat

訂正後

proc = cat

p.136 右段 行番号を付けるの直前の段落 3行目

訂正前

myFilter という名前の

訂正後

myCat という名前の

p.137 右段 最初のサンプルコード 上から3行目

訂正前

combine n l = rjust 6 ++ ": " ++ l

訂正後

combine n l = rjust 6 (show n) ++ ": " ++ l

p.138 左段 サンプルコード直後の段落 1行目

訂正前

"-n " は (余分な空白あり)

訂正後

"-n" は

p.138 右段 最初のサンプルコード

訂正前

getArg

訂正後

getArgs

p.139 左段 最後の段落 1行目

訂正前

disptch

訂正後

dispatch

Copyright (c) 2008-2009 HOP project Contact | About Us