PDF化に先立ち、難しい漢字や表現(私が基準です)があったのをわかりやすい表現にしたり、用語や表記の統一を含め、僭越ながら少しばかり整理させていただきました。「tmiya氏の文体をなるべく損ねたくない」という気持ちと、「もっとわかりやすい表現にすれば、氏の功績がもっと輝くのではないか」という気持ちの両方がありました。 しかし、調子にのってちょっとやりすぎたと、最後になって反省しています。ごめんなさい ---> tmiya様
以前の日本文の方がよかったという方は、戻してくださって結構です。wiki上に履歴があるので簡単に戻せます。ただ、英文の一部は改版されていますのでご注意ください。あと、まれにあった誤訳は戻さないほうがいいでしょう(どこだったかは忘れました)。
●平文(コード部でない文章)では、基本的には、表記方法、漢字や仮名の使い分け、文体、その他について、サン・マイクロの『日本語スタイルガイド』になるべく従うようにしましたが、よく忘れてたりしてます。・・・特に、漢字と仮名の使い分けはとても覚えきれない。自分が読めない漢字や堅いと思った表現/表記は、ひらがなにしたり、やさしく言い換えたりしました。また、次のように、敢えて/残念ながら、そうしていない場合もあります。
●「引数」と「パラメータ(パラメタ)」の使い分け
英文では、実引数を argument、仮引数を parameterとして使い分け、timya氏の訳文中でも8章では忠実にそうしていますが、他の章ではちょっと違うようです。実と仮を厳密に使い分ける必要のある、あるいはその方が理解しやすい場所は少なく、そういった場所ではそうしますが、一般的にはプログラミング言語解説で、実/仮を区別しているものは、あまりないようです(特にunformalなもの)。実/仮の表記は読みづらさを感じたので、次のようにさせていただきました。
こうすれば、一般の「引数」とは意味合いが異なることを,見た目の紛らわしさなく示せると考えたからです。また、「引数」は関数のそれに限定されたイメージが強いのに対して、「パラメータ」の方がより一般的に、動かして与えうるもの、という気がしたので、ちょうどいいかなと思いました(私だけの感覚?)。
● 他の用語
一部について、より一般的に流布している訳語に、あるいは書籍での用語訳を参考にして変えました。
「lazy value」は単に「遅延評価」でいいかなと思ったのですが、変数として扱っている箇所もあるので、書籍にならい格好悪いけど「遅延評価val」としました。
「ツリー」は基本的には「木」としました。「サブツリー」は「部分木」です。
index/indices:インデックス、subscript(ing):添字
● イタリック/太字/添字
PDF作成で使う予定の RestructuredTextのイタリックフォントの問題もあり、手を抜かせてもらいました。tmiya氏の訳では、見出し以外の太字表示(すべてScalaの予約語)はなしで、日本語でイタリックになる場合はだいたい対応していました。私は、見出し以外の太字表示せず、イタリックはそれが英字ならノーマル表示、日本語に訳した場合には、目立つように太字表示としました。添字(下付文字)は、手を抜かせてもらってノーマル表示です。PDFについては、「xxx」の一部も 太字表示しています。
あとになってよく見ると tmiya氏は、イタリックには ''、「」、ノーマル表示を併用し、その重要度に応じて表記を使い分けていたみたいです。気がつきませんでした。すみません。・・・元に戻そうかな?
● 編集の過程で、コメントの表記が一部変わってしまったことをお詫び申し上げます。
● お使いの環境によっては、コード部でカラム位置がうまく揃いません。また、コード部のインデントが編集ミスにより原文と異なる場合があります。
●その他
はじめ、「使って」のほうが「用いて」より柔らかい表現でいいかなと思って「用いて」を置き換えてしまいましたが、あとで気が変わったりして、結局、訳分からなくなりました。すみません。