正誤表


提案は 正誤表.案 へお願いします。


第1刷


訳者序文

p.ix

「川合史郎」

「川合史朗」(shiroさん、すみません)


第4章

p.41 4.3節(NANRIさん報告ありがとうございます)

小数点数の「せんぶんのいち」と同じ

小数点数の「いちまんぶんのいち」と同じ 


第10章

p.121 表10.2の3行目第1列 (亀田さん報告ありがとうございます)

"foo\bar"

"foo\\bar" (バックスラッシュが1つ足りない)


第19章

p.233 最後の段落(修正案です)

とはいえ、ここではskip-log-entry再起動をparse-log-entryに移動するのは好ましくない。parse-log-entryが通常どおりNILを返す場合であるからだ。これはなんとかして避けたいことの筆頭だ。

とはいえ skip-log-entry再起動をparse-log-entryに移動してしまうのは、parse-log-entryが普通にNILを返すことになりかねないため好ましくない。そもそも、そういう状況を避けたいというのが、いま取り組んでいる作業の原点だ。

p.234 中ほど

コンディションを通知するもう1つの関数WARNはコンディションシステム上に作られたエラーとは違ったプロトコルの例になっている。ERRORのようにWARNもSIGNALを使ってコンディションを通知する。しかし、SIGNALが戻ってきても、WARNはデバッガを起動せず、ただコンディションを*ERROR-OUTPUT*に出力してNILを返し、WARNの呼び出し元に処理を返す。同時に、WARNはSIGNALの呼び出しのまわりでMUFFLE-WARNINGという再起動を確立し、これをWARNのコンディションハンドラが使うことでWARNは何も出力せずに戻る。再起動関数MUFFLE-WARNINGは、対応する再起動を探して起動するが、対応する再起動が見つからなかった場合はCONTROL-ERRORを通知する。WARNで通知されたコンディションを処理する方法はほかにもいくつかあり、まるでエラーであるかのように処理すればコンディションハンドラで警告をエラーに「昇格」させることもできる。

コンディション通知関数にはWARNという関数もある。この関数によって、コンディションシステムの上に違う種類の手続きを構築することができる。WARNはERRORと同じく、SIGNALを呼んでコンディションを通知する。しかしWARNはSIGNALが戻ってきてもデバッガを起動しない。コンディションを*ERROR-OUTPUT*に印字してNILを戻し、呼び出し元が処理を続けられるようにする。WARNはSIGNALを呼ぶ際に、MUFFLE-WARNINGという名前の再起動も確立する。これをコンディションハンドラから呼び出せば、WARNは何も印字せずにNILを返す。再起動関数MUFFLE-WARNINGは、MUFFLE-WARNINGという名前の再起動を探して呼び出す。対応する再起動が存在しない場合はCONTROL-ERRORを通知する。もちろんWARNで通知されたコンディションを処理する方法はほかにもいくつかあり、まるでエラーであるかのように処理すれば、コンディションハンドラで警告をエラーに「昇格」させることもできる。


第20章

p.250 4行目(←正誤表.案

またはコンパイルされたフォームと等価なもの

またはフォームのコンパイルされたものと等価なもの

p.250 下から15行目(←正誤表.案を受けて再修正)

トップレベルフォームは、実行されるコードへのコンパイルがFASLのロード時に行われる。

トップレベルフォームをコンパイルしてできたコードは、FASLのロード時に実行される。

p.250 下から10行目

MACROLETやSYMBOL-MACROLETも

MACROLET内やSYMBOL-MACROLET内に直接現れるフォームも

p.250 下から8行目

MACROLETやSYMBOL-MACROLETにコンパイルされたコードに残っている仕事は何もない

コンパイルされたコードにはMACROLETやSYMBOL-MACROLETの痕跡は何も残らない

p.250 下から3行目

ほとんどのフォームがコンパイルされるのは、トップレベルフォームおよび非トップレベルフォームとしてコンパイルされるのと同じタイミングだ。 しかしEVAL-WHENのセマンティクスでは、トップレベルフォームとしてコンパイルされるか非トップレベルフォームとしてコンパイルされるか、もしくは単純に評価されるかに加えて、situationに列挙された状況との組み合わせによってコンパイルされるタイミングが決まる。

ほとんどのフォームはトップレベルフォームでも非トップレベルフォームでも同じものにコンパイされるが、EVAL-WHENのセマンティクスはトップレベルフォームとしてコンパイルされるか非トップレベルフォームとしてコンパイルされるか、もしくは単純に評価されるかに加えて、situationに列挙された状況との組み合わせによって決まる。


第22章

p.268 最後の段落(←正誤表.案

越える1つ手前

その1つ手前

p.270 本文下から9行目(←正誤表.案

反復したい値が集合として異なっている場合があるので少し複雑だ。

反復したいであろう値にはさまざまなものがあるので少し複雑だ。

p.272 最後の段落 2行目(←正誤表.案

forやonの

forとonによる


第23章

p.287 7行目(←正誤表.案

基本的な方針は、与えられたメッセージに含まれる特徴を抽出して分別し、個々の特徴についてそれを含むメッセージがスパムである確率を計算して、その全確率を組み合わせてメッセージの合計スコアを出すというものだ。

基本的な方針は、与えられたメッセージに含まれる特徴を抽出し、個々の特徴についてそれを含むメッセージがスパムである確率を計算して、その全確率を組み合わせてメッセージの合計スコアを出すことで分類するというものだ。

p.287 13行目(←正誤表.案

その特徴を持つスパムのメッセージと、その特徴を持つすべてのメッセージとの比

その特徴を持つすべてのメッセージと、その特徴を持つスパムのメッセージとの割合

p.287 下から5行目(←正誤表.案

スパムかハムかの全体確率とは独立している。

スパムかハムかの全体確率とは関係ない。

p.288 第3段落1行目(←正誤表.案

何らかの形で … 得点データを因子に持つ

… データ点の個数を何らかの形で因子とする

p.288 第3段落2行目(←正誤表.案

データを事前知識や仮定として用いる

データを事前知識ないし仮定に組み込む

p.289 第2段落2行目(←正誤表.案

分類されたメッセージ

分類しようとしているメッセージ

p.289 第3段落9行目(←正誤表.案

小さい確率が少なすぎるからだ

確率の小さい特徴が多すぎるからだ


第24章

p.299 脚注2(←正誤表.案

したがって移植性を意図したファイルフォーマットでは、特定のマシンや言語におけるメモリ内の実際のデータ表現にマップさせ得る全データ型について、正準表現(canonical representation)を規定しなければならない。

したがって移植性を意図したファイルフォーマットでは、特定のマシンや言語におけるメモリ内の実際のデータ表現にマップさせ得る正準表現(canonical representation)を、利用する全データ型について規定しなければならない。

p.304 末尾(←正誤表.案

クラスと、そのクラスおよび

クラスと、そのクラスのインスタンスおよび

p.306 本文12行目(←正誤表.案

後者はさらに2要素のリストになっている。

後者の要素は2要素のリストになっている。

p.308 本文13行目(←正誤表.案

read-valueに特定化された

read-valueに特定化した

p.308 本文17行目(←正誤表.案

それからid3-tagという型の名前に特定化したread-valueメソッドをdefine-binary-classに生成させ、最初の引数に適切なスロットの型を渡してread-valueを呼び出せば、そのメソッドが実装されるようになる。

それからid3-tagという型の名前に特定化したread-valueメソッドをdefine-binary-classに生成させることができる。このメソッドは、最初の引数に適切なスロットの型がくるread-valueの呼び出しとして実装される。

p.311 本文13行目

どの型をread-valueに渡xすか決めるために

どの型をread-valueに渡すか決めるために

p.311 本文17行目(←正誤表.案

そして、直接インスタンス化することはないが、read-valueでデータを読むにはどのクラスを生成するかを判別する「抽象」クラスを定義する、別のマクロdefine-tagged-binary-classを書く。

そして、直接はインスタンス化しない「抽象」クラスを定義する別なマクロdefine-tagged-binary-classを書く。その抽象クラスが、生成するクラスの種類を決定するのにどれだけのデータを読めばいいかを知っているread-valueメソッドにより特定化されるようにする。

p.311 下から12行目(←正誤表.案

read-valueメソッドとwrite-valueメソッドを変更し、サブクラスの生成されるメソッドが継承元のスロットを読み書きするのに、スーパークラスのメソッドを使えるようにする必要がある。

read-valueメソッドとwrite-valueメソッドを変更し、サブクラスの一部として生成されたメソッドが、継承したスロットの読み書きに、スーパークラスを定義するときに生成されるメソッドを使えるようにする必要がある。

p.311 下から8行目(←正誤表.案

あるオブジェクトはスーパークラスのフィールドを埋めるメソッドにインスタンス化し、他のオブジェクトはサブクラスのメソッドがインスタンス化してスロットを埋めるというようなことができない。

スーパークラスの読み込みに責任のあるメソッドに1つのオブジェクトをインスタンス化させながら、一方でサブクラスのメソッドが別のオブジェクトをインスタンス化してスロットを埋めるようなことができない。

p.312 本文5行目(←正誤表.案

PROGNにより、クラス優先順位リストで最も特定的でないクラスから特定的なものへと順番に特定化されたメソッドが実行されるように結合される。最も特定的でないクラスに特定化されたメソッドが最初に実行され、そのクラスで定義されたスロットに対して読み書きを行い、それから次に特定的でないサブクラスに特定化されたメソッドが実行されるという具合だ。特定的なクラスに対する...

PROGNメソッド結合により、クラス優先順位リストで最も特定的でないクラスに特定化されたメソッドが最初に実行され、そのクラスで定義されたスロットに対して読み書きが行われ、それから次に特定的でないサブクラスに特定化されたメソッドが実行される、という具合に適用可能なすべてのメソッドが結合される。特定のクラスに対する...

p.312 本文最終行(←正誤表.案

でメソッドを定義するだけだ。

をメソッドの定義に使うだけだ。

p.314 本文6行目(←正誤表.案

そしてマクロによって生成される式に ... define-binary-classによって生成される式

そしてマクロによって生成される展開形に ... define-binary-classによって生成される展開形

p.315 24.11から3行目(←正誤表.案。「特定化された」の訳抜けが本質的なミス)

まず、構造が開始される値をどうやって読むかを判別できるメソッド

まず、構造の先頭の値をどうやって読むか知っている特定化されたメソッド

p.315 24.11から11行目(←正誤表.案

フォームが返すクラスの名前は、... スロットの名前で初期化引数を

フォームが返す名前のクラスは、... スロット名に対応した初期化引数を

p.315 24.11から13行目(←正誤表.案

タグ付きクラスをサブクラスに持つクラス

タグ付きクラスのサブクラスであるクラス

p.320 本文3段落目(←正誤表.案

*in-progress-objects*を新しい値に代入せず、

*in-progress-objects*を新しい値に代入するのでなく、


第25章

p.321(小松さん報告ありがとうございます)

ISP (International Organization for Standardlization)

ISO


第26章

p.351 4行目(←正誤表.案

Webサーバでは通常 ? マークより後ろのクエリ文字列を無視し、レスポンスを生成するコードで利用できるようにする。

Webサーバでは通常 ? マークより後ろのクエリ文字列を無視する。ただし、レスポンスを生成するコードでそれを利用できるようにする。

p.352 脚注8(←正誤表.案

PortableAllegroServeを呼ぶと

PortableAllegroServeをロードすると

p.355 脚注9(←正誤表.案

自分で空白を追加せずにHTMLをインデントすることができる。

コードを適切にインデントしてもHTMLに空白が追加されない。

p.366 3行目(←正誤表.案

PROGNの中で展開されるようにしている。

PROGNに展開しなければならない。

p.366 最後の段落の2行目(←正誤表.案

それぞれをparam-bindingで生成するコードの断片を集める必要がある。

それぞれに対しparam-bindingで生成するコードの断片を集める必要がある。

p.366 末尾(←正誤表.案

DESTRUCTURING-BIND使うことでparam-bindingを分解

DESTRUCTURING-BINDを使うことでparamsを分解


第27章

p.373 1行目(←正誤表.案

interned-stringの名前に特定化された

interned-stringという名前に特定化された

p.373 末尾(←正誤表.案。行→列のミスが本質的な修正対象)

この関数が、各行について正規化したデフォルトの属性リストを組み立てる。行の値としては、…

この関数が、各列について、正規化された値からなる属性リストを組み立てる。列の値としては、…

p.374 末尾(←正誤表.案

情報でMP3データベースをロード

情報をMP3データベースにロード

p.375 13行目ほど(←正誤表.案

その列の名前でソート

その名前の列でソート

p.376 中ほどの本文4行目(←正誤表.案

MAPに渡す関数の引数

MAPの引数として渡す関数

p.376 中ほどの本文5行目(←正誤表.案

ある列を持つ行だけ

ある列だけを持つ行

p.378 最後の段落1行目(←正誤表.案

inは、特定の列が指定した値の集合になっているような行にマッチさせる関数を返す。

inは、特定の列が指定した値の集合に含まれているような行にマッチさせる関数を返す。


第28章

p.383 中ほど(←正誤表.案

ストリームに現在演奏中の曲目をどのメタデータに埋め込むかといったメカニズムも含めたレスポンスの書式だ。

現在演奏中の曲目に関するメタデータをストリームに埋め込むメカニズムも含めたレスポンスの書式だ。

p.383 最下行(←正誤表.案

nバイトごとに分割されたメタデータのチャンクを埋め込むというものだ。

メタデータのチャンクをnバイトごとに埋め込むというものだ。


Last modified : 2008/11/27 00:41:15 PST