プロジェクトNirodha:スクリプトは速く小さくできるCommon Lispで!

いちおう断っておきますと、これは引退したいち趣味人のネタです。

私はいま49歳なんですが、20代で就職に失敗して、それならCommon Lisp処理系を書いてそれで生計を立てようと若さゆえの無謀な計画を立てたことがありました。結果として無理がたたり、大病して社会生活からセミ・リタイアせざるをえない身の上になりました。

で、最近はISLisp処理系なんかをいじったりしていたんですが、昔に書いたCommon Lispのコードをなんかまたいじりたいなと思って、ひねくりだしたのがこのプロジェクトNirodha(ニローダ)です。

現状では、広く普及したLisp OSはないので、WindowsやらLinuxなんかのOS環境内で今現在、数多くあるCommon Lisp処理系たちの中でサバイバルする道はみたいなことを考えて、手軽にCommon LispでUnixコマンドをかけたらいいなと思いました。で、実行ファイルサイズは小さく配布も手軽で、そこそこ速いと。

つまり、スクリプト言語としてCommon Lispを使いたいということです。これは故Erik Naggumさんがcomp.lang.lispで”PerlやPython, RubyなんかはLispの子孫やな”みたいなことをおっしゃっていたのを読んで、たしかにスクリプト言語としてCommon Lispを使えたらハッピーだなとずっと思っていたことからきています。

で、デザインとしては、C言語を核に据えます。Common LispはC言語へトランスレートできるのは、Kyoto Common LispやいまのGCL、ECLなんかですでに実証済です。で、たぶん実行速度もそこそこでるはずです。

適当に頭にあるアイデアは、
・SBCLにはたぶんないツリーシェイキング機能みたいなのは、Common Lispのライブラリ関数を1つずつC言語からコンパイルしたオブジェクトファイルにしといて選択的にリンクして実行ファイルを作ることで、実行ファイルのサイズを小さくする。

・規格に準拠することで、本気のアプリケーション開発に発展したときには、優秀な商用Common Lisp処理系へアップグレードできるようにする。

・できれば起動は速く。

で、次は私の勝手な自分へ科した麻雀での二翻縛りみたいなもんですが、昔、そうあるべきだと考えた、

・小さなLispコア(スペシャル・オペレータなど)をC言語で書いて、できる限りをCommon Lispで書く(で、それを自分のトランスレータでC言語へ落とす)

なぜか、若いころの私にはそれが正しく美しいものに思えたんですね。

このくらい遠大な計画にしとくと死ぬまでには楽しめるのじゃないかと思っています。(なんかCへの優秀なトランスレータが書けたら死ぬ気がする:-)

他人に卑しさを見たときは

その見立て通りその人が卑しい心の動きで動いていることもありえますが、

あなた自身が卑しいこころの動きを持っているから、それを他人の中に見ているだけという可能性も十分あり得ます。

Do not judge, or you too will be judged.  For in the same way you judge others, you will be judged, and with the measure you use, it will be measured to you.

Why do you look at the speck of sawdust in your brother’s eye and pay no attention to the plank in your own eye? How can you say to your brother, ‘Let me take the speck out of your eye,’ when all the time there is a plank in your own eye?  You hypocrite, first take the plank out of your own eye, and then you will see clearly to remove the speck from your brother’s eye.

フリーソフトウェアは良いものなのか

正直いって私もわからないというのが本音です。

今現在、フリーソフトウェアオープンソースソフトウェアを抜きにIT産業は成り立たないほど存在感はあります。しかし、長い目でみてそれが社会つまり人類のために良いことだったのかはわかりません。

ただ、私は自分がプログラミングするうえで、多くのスゴイ人たちのコードを読んで勉強したし、”私には”都合が良いというのが本心です。往々にしてタダで手に入りますし。

RMSという強烈な個性と才能を持ったプログラマーがソフトウェアはそうあるべきだと考え・感じFSFを立ち上げた(私は、感情90%理性10%くらいだったと思っています)結果としてすべてが始まったのだろうと思います。

RMS(リチャード・ストールマン Richard Matthew Stallman)のこと

数十年前読んだインタビュー座談会記事で、日本が誇るLispハッカーの竹内郁雄先生がRMSに日本に来ないかと誘った場面があって、それに対してRMSは「日本では自分の居場所はないと思う」みたいなことを返す場面がありました。(竹内先生が話しかけてもRMSはカニ喰うのに必死でガン無視とかありましたw)

私も、日本でFSFみたいなことをやったら、経済的テロリズムであるとして徹底的に弾圧されたり誹謗中傷を受けていたと思います(実際、私のある友人はそういう反応でした)。まぁ、アメリカでも企業はいろいろなFUD攻撃をしました(fear, uncertainty, doubt)。

ちょっと、ISLisp処理系KISSをもうすこし本腰いれて開発するかなという気分になって思ったことを書いてみました。いずれ加筆するかもしれません。