2008-02-11から1日間の記事一覧

ステップ実行eval開発中(5)

WiLiKiに書いた。 しかし……これって、ものすごくR5RS外だよなあ、あんまり突き詰めるような部分じゃないよなあ、移植性ないよなあ、とも、書きながら思ってしまった。 mzschemeで追試したら、mzschemeではそもそも、special formやmacroの実体に、(即値風に)…

ステップ実行eval開発中(4)

できた。eval拡張パッチが。 さっきのコメントは、((lambda () ...) ...)のような、car部分がlistになってるものについてだった。気にしなくてよかった。 R5RSのevalの項目も確認した。 expression は,データとして表現された一つの妥当な Scheme 式でなけ…

ステップ実行eval開発中(3)

http://practical-scheme.net/wiliki/wiliki.cgi?Gauche%3AYAGHG%3AIntroduction#H-1l0p7af 回り道したが、これを発見した。凄い有難い。 で、問題のコードはcompile.scmのpass1のところにあった。 evalの第一引数のlistの先頭が何なのかをpass1/lookup-head…

ステップ実行eval開発中(2)

要は、 ((eval `(,lambda (arg) arg) (interaction-environment)) 123) => 123 のように、evalに対して、マクロやspecial formの「実体」を渡した時にも、evalがそれをマクロやspecial formとして扱ってくれれば問題は解決するのだが、とりあえずGaucheはそ…

ステップ実行eval開発中(1)

とりあえず手続き類は問題無く動くようになった。 しかし、マクロとspecial formの評価時に割り込み処理を入れるのが難しい。 マクロとspecial formには割り込み処理を入れない事にすると、当初に想定していた利用方法の大半が駄目になってしまう為、この部…