KOGURO, Naoki
naoki****@kogur*****
2005年 11月 27日 (日) 16:21:52 JST
小黒です。 Gaucheの本体に手を入れて部分継続を実現するパッチを作ってみました。 部分継続自体は既にKahuaのpartcont.scmにより実現されていますが、この パッチを使うとC関数から呼び出されたSchemeの環境内でも部分継続を捕捉す ることが可能になります。 partcont.scmをほぼそのままCで実装したものとなっていますが、reset/pcの 継続のcstackとcall/pcの継続のcstackが同一となるように制限をかけて、 call/pcにより捕捉された部分継続の呼び出しではvm->cstackを変化させない ようにしています。 パッチ(partcont.patch.gz)とGauche-glで部分継続を利用したサンプルのコー ドを添付しますので遊んでみてください(SICPのペインタが描画する様子をア ニメーションで見ることができます)。 -- KOGURO, Naoki <naoki****@kogur*****> -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: partcont.patch.gz 型: application/x-gzip サイズ: 2251 バイト 説明: 無し ダウンロード -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: square-limit.scm.gz 型: application/x-gzip サイズ: 1591 バイト 説明: 無し URL: http://lists.sourceforge.jp/mailman/archives/gauche-devel-jp/attachments/20051127/323bfb6d/attachment-0001.bin -------------- next part --------------