LISPとPrologの入門書。
LISPもPrologもわかりやすく書かれている。
数あるLISP の中で、この本では、Common LISPを扱っている。 私がもっている、あるいは使える環境にある処理系では Common LISP がなかった。 たとえば、勤務先では SONY の EWS にある Franz Lisp しか使えなかった。 そのため、例題のほとんどは検証できず、悔しい思いをした。
Prolog のほうは、NEC-9801 シリーズで動く S-Prolog で実験したりしていた。 ある程度動いていたので、Prolog の仕組みに感動していた。 append の定義を確かめたのも、 この本からだった。
この本に書かれていることは、それぞれの記号処理に関することもすばらしいが、 脱線ぎみの話や注釈も面白い。 たとえば 69 ページに命題や命題に関する各種用語の定義がある。 そして最後にこう釘をさしている。
(命題のことを「生命を賭けて解くべき課題」という意味で使うのは誤用である.)
この一文を見て、直前に見た日本語誤用の本と小谷野敦によるこの誤用の本の論評を思い出した。
久しぶりに Prolog でプログラムを書いてみた。同書には次のプログラムが載っている。
| rains(it). | blue(the_sky). | read(he, the_book). |
多くの処理系では、read は組み込み述語のため使えない。buy や take などに変えればいいだろう。
さて、swi-prolog では、プロンプトとして ?- だけが表示されている。このときは、プロンプト ?- の右に[user.] と入力すればよい。 これはわかったが、では入力が終わったときはどうすのかが書いていない。結局、いろいろ試して ctrl-D を押せばよいことに気付いた。 なお、swi-prolog では yes のかわりに true, no のかわりに false である。
書 名 | 記号処理プログラミング |
著 者 | 後藤 滋樹 |
発行日 | 1988年8月10日(初版) |
発行元 | 岩波書店 |
定 価 | 2700円(本体) |
サイズ | ??版 |
ISBN | 4-00-010348-2 |
まりんきょ学問所 > 読んだ本の記録 > 後藤 滋樹:記号処理プログラミング