schemeと私


schemeでアクセスしてくる人が結構多いようなので、
昔語りをしてみます。


何を隠そう私は、つい7〜8年前、schemeインタプリタを作って
公開していました。一応まだそのページ残ってます。
http://www.jah.ne.jp/~naoyuki/Programs/Programs.html
(いまさら見る価値はありませんよ、念のため)


今頃schemeとか言ってるおまえら m9(^Д^)プギャー




その当時はschemeは絶対組み込みスクリプティング
向いてるはずだ、とりろん的には思っていましたが
あんまり自信なかったし反応もそんなになかったので
なんとなくフェードアウトさせてしまっていました。
Shiroさんすげえ。マジパネェっすよ


この公開したバージョンは、
CPSとか知らない頃に作ったし、
ASTをそのまま実行するようにできている上、
スタックが木構造をしているので
毎ステップ継続をアロケートするとか
ヒドすぎる構造だったのですが、
一応うごいてたwのでそれなりに使ってました。
(市販のとあるエロゲにこっそり使われている。
ちなみに今は何度か転職して
全然別のコンシューマー屋につとめています)


LAN対戦の実現のためにスクリプト直接送りつけるみたいな
やんちゃなこともしてました。
今だと怖くてできないですね。
AJAXみたいなもんだと思えばありえなくもない?


1st class continuation、多値、dynamic-windみたいな
めんどくさそうな制御構造も一応ちゃんと実装されています。
そもそも継続がゲームスクリプティングに使えると思ったので、
それを実装するのは当然なのですが。


その後に普通っぽいスタックを持っていて
末尾呼び出しの最適化くらいはするバージョンを
手元では作っておいてありましたが、
そのころ これをネットで見つけて
世界の広さを知った私はしばらく潜伏するのでした。
(単に仕事の都合って話もありますが)


でその後そのテキストを読みながらrubyschemeコンパイラ実装したり
rubyじゃ型がなくてめんどくさいと言うことがわかって
Ocamlに切り替えて最適化コンパイラ


めんどくさなったので唐突に終わり。


ちなみに私は頭が悪いので、
複数のことを覚えていられません。
そんなわけで型付けの弱い言語を使うのはあきらめましたので、
今ではschemeを使うことはほぼありません(結局それかよ)
でもschemeには思い入れがあるので
皆様には是非頑張っていただきたいと思っています。
7〜8年前の私がりろん的には正しかったことが
他人の手によって証明されるかも! 楽ちん!