プログラミングHaskell 第1版第1刷 の誤植

更新 2011年7月19日


誤:

整数の除算演算子は`div`と表記され、結果が小数であれば
最も近い整数に丸められることに注意しよう。

正:

整数の除算演算子は`div`と表記され、商と剰余のうち商が求められる。

誤:

'o'

正:

'0'

shift の定義

誤:

'mod'

正:

`mod`

中程の簡約の例

誤:

++

正:連結記号 (+ と + がくっついた記号)


誤:

任意の文字、アルファベット文字

正:

アルファベット文字、アルファベットあるいは数字文字

誤植ではありませんが、echo の型が抜けていました。

echo :: IO ()

誤:

goto :: Pos IO ()

正:

goto :: Pos -> IO ()

誤:

一番目の数がZeroなり

正:

一番目の数がZeroになり

誤:

return (f v1 v2 vn)

正:

return (f v1 v2 ... vn)

誤:

1.2G Hz

正:

1.2 GHz

誤:

一番目と二番目の手順は

正:

一番目と三番目の手順は

二行目の 12 と 14 は、ふるい落とし済みなので数字を書かない


誤:

add (Succ (add n y) z)

正:

add (Succ (add n y)) z

誤:

reverse xs

正:

reverse ns

誤:

isUppwer c

正:

isUpper c

誤:

reverse = foldr (\xs x -> x :xs) []

正:

reverse = foldl (\xs x -> x :xs) []

str の定義で本文では説明されてない let 式を使っていました。let式は、値に一時的な名前をつけるために使われます。この名前は、引き続くinの右側で利用できます。

let name1 = ...
    name2 = ...
in name1 + name2 -- 一時的な名前 name1 と name2 が利用できる

let と in を合わせた全体が let 式です。


追加すべき訳語:

論証 :: reasoning