Scientific American の書評で、最近出たStructure and Interpretation of Classical Mechanicsという本のことを知る。見覚えのあるタイトルおよびジャケだと思ったら、これ一冊でご飯が50杯食べられる名著「計算機プログラムの構造と解釈」の著者の一人が執筆に加わっているらしい。内容はずばり「古典力学をプログラムで表現する」で、ここでは当然のごとくSchemeという言語(LISPの一方言)が使われている。Schemeの実装にはいろいろあるけど、ここではMIT-Schemeが使用され(MITの教科書なので当然か)、それを用いてScmutilsという力学系記述システムを構築してそれに基づいて書かれている。しかもDebian3.0向けなのだそうだ(にしてはtar.gz形式だったりする)。

書評によると、力学系schemeで記述し直すのはかなり骨の折れる作業だったらしい。想像して余りある。もともと数式は手で書くことを前提に発達したのでコンピュータでの処理はどうしても不細工になってしまう傾向がある。いつかは誰かがやらねばならない作業だったのではないかと。対象はなぜかニュートンを飛ばして、その後のオイラー/ラグランジュから始まっているらしく、評者も「ニュートンからやって欲しかった」との由。しかしその成果があって、たとえば第一章で作成したプログラムは、完全にそのままで第二章で使用でき、それを用いて別のプログラムを作成し、という具合に完全に積み重ねの効く力学体系が構築された模様。

ここがLISPの凄いところで、他の言語ではこうやって引用するための手続き自体が膨れ上がってしまって、何をしようとしていたのか本人も忘れてしまったりするのだけど、成果を完全に垂直に積み上げることができるLISPという言語がここでは最大の教育的効果を生み出している【読んでもないのにおれカネゴン】。カネゴンLISPは繭(小学校)の頃にかじっただけでろくすっぽわかっていないのだけど、真剣に勉強しようという気持ちになりつつある。ダンサーがNYを目指し画家がパリを目指すように、GeekSchemeを目指すみたいだし、やはり憧れの気持ちは隠せない。帰り電車の中でヒデキ指数(検定済)=200を突破。誰かカネゴンをびしびししごいてください【只ではやらんぞおれカネゴン】。

(内輪ですみません)一も二もなくダウンロードして/usr/local以下にインストールするも、案の定動いてくれない【カネゴンらしいぞおれカネゴン】。サーバーは動くのだけど、フロントエンドのターミナルがうんともすんとも言わない。仕方なくソースからダウンロードしてコンパイルし、バイナリを差し替えてもだめ。最後にはソースをすべてダウンロードし、Scheme自体をコンパイルしたら、これが一晩かかった。今時カーネルコンパイルですら10分で済むというのに、これだけコンパイルに時間がかかるのは久しぶり。Scheme自体のコンパイルに加え、すべてのschemeファイルまで実行形式としてコンパイルされるせいらしい。あまり時間がかかるので、てっきりループしているのではないかと思ってしまったぐらい。そうこうしても結局動かず。ライブラリの整合性も正しいはずなのだけど。そうこうしているうちに明け方になり、カネゴンの成仏が促進される。嗚呼。