継続(Continuation)

Schemeのマクロの展開がさっぱりわからず、何週間も悩んだ後、Schemeのデータ構造を離れて完全にJavaでいろいろ書いたらそれなりに動くコードが出来た。ただ、コードの構造がいまいちなのとテスト不足が否めない。

でも、ちょっとマクロを離れたかったので、その辺を後回しにして、Schemeの継続(Continuation)の調査をした。C言語とかだとスタックを保存してそれを後で再利用みたいな風にやってるけど、Javaでは(自分でスタックを積んだりしてないので)、そんなところにアクセスするわけにも行かず、どうするか考え中。毎回継続オブジェクトとか書いちゃうといろいろ無駄になりそう。ちょっと汚いけど継続のときだけ、呼び出しの状態を保存するような感じのコードを書いたらそれなりに動いた。ただ、似たようなコードが何個もあるというとっても気持ち悪いコードになってしまった。この手でいけるかどうか。。だめっぽかったら、別の手を考えよう。