Real World Haskell
- Real World Haskell -- 実戦で学ぶ関数型言語プログラミング
Bryan O'Sullivan, John Goerzen, Don Stewart 著
山下伸夫、伊東勝利、株式会社タイムインターメディア 訳
オライリー・ジャパン 発行,オーム社 発売
ISBN978-4-87311-423-1
2009-10-26 初版第1刷 発行
問い合わせ
翻訳書の内容に関する、問い合わせ、感想、誤りのご指摘などは、rwh.tokyo at gmail dot com までにメールを下さるか, RWH:バグ報告にておねがいいたします.
正誤表
p.75 下から8行目
タイポ
修正前: もう1つのファイルに書くというのもです。
修正後: もう1つのファイルに書くというものです。
p.188 toupper-lazy6.hs のコード mainの定義
間違いではないが読みにくい. → main の定義を改行せずに1行にする.
p.193 7.5.3節 最初のコードの直前
間違いではないが読みにくい.括弧にいれる.
修正箇所: そうしないと型エラーが起きます。
修正案: (そうしないと型エラーになります。)
p.200 2つめのパラグラフ 2つめの文
わかりにくい
修正箇所: この関数は、整数とひと続きの桁が消費れた残りの文字列の両方..
修正案: この関数は、ひと続きの数字を消費して得た整数と残りの文字列の両方..
p.209 練習問題直前の行
わかりにくい → 接続詞を追加
修正箇所: 2行程度の関数では、..
修正案: しかし,2行程度の関数では、..
p.226 下から11行目
訳語を変更
修正箇所: これは特別に致命的なバグです。
修正案: これは特に悪性のバグです。
p.382 ページ下のほうのコード,showTwoの定義
コードの謝り(原書も)
誤:
return (show "a: " ++ show a ++ ",b: " ++ show b)
正:
return ("a: " ++ show a ++ ",b: " ++ show b)
p.383 ページ最初のコード,showTwo_classの定義
コードの謝り(原書も)
誤:
return (show "a: " ++ show a ++ ",b: " ++ show b)
正:
return ("a: " ++ show a ++ ",b: " ++ show b)
p.558 10行目
誤訳
誤: このコードの変更は、いままでは言及する必要のなかったことがすべて注目すべきことになっています。
正: このコードの変更で注目すべきは、いままではどれも言及する必要がなかったという点です。
p.563 5行目
タイポ
誤: ..並列GCCはまだ開発中..
正: ..並列GCはまだ開発中..
正誤表(2刷で修正)
p.69 3.11節 3行目
誤訳
誤: defaultは値がNothingのときに使われます。
正: 値がNothingのときにデフォルト値を使います。
p.76 ページの中ほどにあるシェル実行例
実行ファイル名が違う(2箇所)
誤: ./Interact
正: ./InteractWith
p.79 4.3.1節 1行目
ファイル名不整合(原書も)
誤: Interact.hsファイルをコピーします。
正: InteractWith.hsファイルをコピーします。
p.102 練習問題
脱字,練習問題の2.の番号が抜けている
誤: 上で定義した関数を
正: 2. 上で定義した関数を
p.164 6.8.4節 箇条書き 2項目
脱字
誤: ..元の型名も別名も同じ意味使え、..
正: ..元の型名も別名も同じ意味で使え、..
p.175 表7-1 キャプション
節のタイトルとずれている(原書も).
誤: 表7-1 純粋 vs. 非純粋
正: 表7-1 純粋 vs. 入出力
p.175 表7-1 カラム見出し
節のタイトルとずれている(原書も).
誤: 非純粋
正: 入出力
p.178 本文最後の行
「を」の前の読点が余分
誤: ..位置、を取る関数です。
正: ..位置を取る関数です.
p.179 上から2行目
誤字 「差す」→「指す」
誤: ..場所を差す位置..
正: ..場所を指す位置..
p.181 ソースコード上から5行目
インポートするモジュール名(ghc-6.10.1以降の場合)
誤: import Control.Exception (finally)
正: import Control.OldException (finally)
p.182 ソースコード下から7行目.コメントのなか
脱字「の」
誤: ..最初のアクションあとで..
正: ..最初のアクションのあとで..
p.185 最初の行
わかりにくい言い回しのため修正.
誤: ..読み込むものすべて..
正: ..読み込むことすべて..
p.187 上から5行目
脱字
誤: putStr(およびこれに類する出力関数)データが..
正: putStr(およびこれに類する出力関数)はデータが..
p.190 ソースコードの中程,コメントが未訳
コメント未訳
誤: Take a list of actions, and execute each of then in turn
正: アクションのリストをとり,順に起動する
p.194 本文,上から2行目
脱字「に」
誤: ..doブロックの最後くるのが..
正: ..doブロックの最後にくるのが..
p.196 7.9節の上から3行目
まぎらわしい言い回しを変更
誤: ..から先の部分..
正: ..から後ろの部分..
p.198 8.1.1節の手前,下から2行目
大文字小文字のミス
誤: 正格bytestring型は..
正: 正格ByteString型は..
p.200 本文上から2行目
大文字小文字のミス
誤: bytestringに区切り文字を..
正: ByteStringに区切り文字を..
p.202 上から5行目
わかりにくいので修正
誤: ..は文字picに続いて数値一桁、..
正: ..はpicという文字のならびに続いて数字が1字、..
p.202 下から4行目
誤訳
誤: ..結果を使って置き換えをする方法により..
正: ..結果の使い方によって..
p.208 本文最初の文
脱字「する」
誤: ..「行終端にマッチ」正規表現..
正: ..「行終端にマッチする」正規表現..
p.208 escapeの定義直後の本文最初のパラグラフの最後の行
変数名
誤: ..再びglogToRegex'に..
正: ..再びglobToRegex'に..
p.210 上から7行目(コードを含む)
「Haskell」の書体ミス
サンセリフ書体 → セリフ書体
p.210 append.hsのコードの直後の本文,最初の行
脱字「価」
誤: ..非正格評では..
正: ..非正格評価では..
p.211 ページ中程のGlob.hsのコードの直前
変数名
誤: ..nameMatching関数..
正: ..namesMatching関数..
p.211 ページ下から3分の1くらいのところ,Glob.hsのコード
インポートするモジュール名(ghc-6.10.1以降の場合)
誤: import Control.Exception
正: import Control.OldException
p.211 本文最後の行
「if」の書体ミス
セリフ書体 → サンセリフ書体
p.214 本文上から2行目
モジュール名修正(ghc-6.10.1以降)
誤: 関数をControl.Exceptionモジュールから..
正: 関数をControl.OldExceptionモジュールから..
p.214 本文上から3行目
わかりにくいので変更
誤: ghciに放り込んだら何がわかるでしょうか。
正: ghciに降りて調べてみましょう。
p.214 本文最後から上へむかって4行目
わかりにくいので変更
誤: 代りにこのコードは例外を捕捉したら空リストを..
正: つまりこのコードは例外を捕捉したら代りに空リストを..
p.214 練習問題の最初の文
誤訳
誤: ..を書くためにはどんなことでもしましたが、..
正: ..を書くためにいくつか工夫しましたが、..
p.215 下から10行目
いいまわし
誤: 失敗の可能性を織り込められます。
正: 失敗の可能性を織り込めます。
p.216 ページ中程の本文
わかりにくいので変更
誤: もう一度、System.Directoryの不恰好なファイル/ディレクトリの分割..
正: ここでもまた、System.Directoryの不恰好なファイルとディレクトリの場合分け..
p.221 9.2.2節,13行目
誤訳
誤: ..データ部が長い場合には..
正: ..データ部が短い場合には..
p.224 6行目(ghciセッションを含む)
誤訳.わかりやすさのため,すこし補足します.
誤: ..これらの関数はすべて自由に使えるものです..
正: ..自由に使えるのはこれらのSystem.Directoryモジュールの関数だけです..
p.225 下から5行目
訳もれ
誤: betterFindで、あらゆる ... を呼んでいます。もしエントリが ... 被せて返します
正: betterFindで、あらゆる ... を呼んでいるので、もしエントリが ... 被せて返すべきです
p.286 ページ中程のコード,parseRawPPMの定義の最後の行
縦横をとりちがえている(原書も)
誤:
identity (listArray ((0,0),(width-1,height-1)) pxs)
正:
identity (listArray ((0,0),(height-1,width-1)) pxs)
p.303 ページ中程,row関数の定義
縦横をとりちがえている(原書も)
誤:
row j a = ixmap (l,u) project a
where project i = (i,j)
((l,_),(u,_)) = bounds a
正:
row i a = ixmap (l,u) project a
where project j = (i,j)
((_,l), (_,u)) = bounds a
p.310 ページ中程のパラグラフ,1〜2行目
わかりにくいので変更
誤: ..入力データのコピーを返します。そのとき要求された変更を適用します。
正: ..要求された変更を適用した入力データのコピーを返します。
p.393 本文最後の行
字体が違う 噐 → 器
誤: 構文解析噐
正: 構文解析器
p.407 下から2行目
脱字「に」
誤: ..をトップレベル巻き上げて..
正: ..をトップレベルに巻き上げて..
p.444 上から6行目(コードを含む)
コードと説明がずれている(原書も)
誤: ReaderTとWriterTの順番はどちらでも構いません。
正: ReaderTとStateTの順番はどちらでも構いません。
p.446 練習問題 1
コードと説明がずれている(原書も)
誤: ..を変更してReaderTとWriterTの順序を入れ換えなさい。
正: ..を変更してReaderTとStateTの順序を入れ換えなさい。
p.447 ghciセッションの直前のパラグラフ,最初の文
「に」→「を」
誤: ..と働いているということに当てにせず、..
正: ..と働いているということを当てにせず、..
p.453 18.8節の手前3行目
脱字「る」
誤: ..記録されだけということがわかります。
正: ..記録されるだけということがわかります。
p.464 19.2節 ヒント 下から2行目
脱字「る」
誤: ..標準的なGHCライブラリから外され可能性があります
正: ..標準的なGHCライブラリから外される可能性があります
p.481 下から5行目
誤訳
誤: 1つめは1,000秒後にUTCの1970年1月1日の午前0時になる時点を表現するClockTimeを構成します。
正: 1つめはUTCの1970年1月1日の午前0時から1,000秒後の時点を表現するClockTimeを構成します。
p.639 最後のコード removeInvの定義
定義が間違っている(原書も)
正しい定義:
removeInv x xs =
case break (x==) xs of
(ys,_:zs) -> Just $ ys++zs
_ -> Nothing
p.648 下から3行目
誤訳
誤: HTTPリダイレクトリスポンスは何回かたどります。
正: HTTPリダイレクトリスポンスは、数回しかたどりません。