著作一覧 |
手元にCQ出版社のアーカイブ(インターフェイス別冊)ってのがそろっていて、こいつは出版年が昭和61年(というか何年なんだっけ? 1986年か)だから、過去の遺物だ。
で、これの1巻と2巻にまたがって、稲田信幸さんという理研の人が簡単(つまりダイナミックバインディング)なLisp処理系のリストと解説を書かれている。
この記事は相当に思い出深い気がする。
まず本を見ながらひたすら打ち込むというタイピングの練習になった。
次にいろいろな言い回し(carとかatomとかは置いておいて)、たとえばinternとかsubrとかを知った。
longjmp/setjmpの使い方ってのもこれだな。
ハッシュテーブルの実装もこれだ。
で、それはいいのだが、セルのポインタが16ビットなもんで、最初に
#define SEX short /* for 16 bit micro computer */
として、そのあとは、なんでもかんでもSEXが出まくる。ほぼすべての関数の戻り値はSEXだし、相当多数の関数はいきなり
SEX fn;
となっている。funじゃないけどな。
で、なぜかそれがS-EXPRESSIONの意味だとわからなかったのだ、最初のうち。なんでわからなかったのかが、今になると不思議なのだが、とにかくその時は、このおっさんは何を考えてSEXを連呼しているのかと不思議に思ったものだ。
うーん、Lispは大人の世界ですなぁ。
(RubyはVALUEだからこういう疑問は持ち得ないだろうからつまらないね)
というか、ポインタがshortというのは今になってみると信じがたいものがあるな。
ジェズイットを見習え |