手続きオブジェクト

defineを実装して、lambdaやらquoteやらも再定義可能にするには、手続きオブジェクトの内部表現を考えないと駄目だ、という結論に達した。
たとえば、

gosh> car
#<subr car>

とかいうやつ。
#で始まる値はリテラルで表現できないものらしい(id:yagiey:20090129:1233236100)。
今は「car」という識別子を見つけたら、テーブルから探さずにC#のメソッドCarを呼び出しているだけ。


...いかん、ハマってきた。
楽しい。