[Gauche-devel-jp] 部分継続を実現するパッチを作りました

アーカイブの一覧に戻る

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 --------------



Gauche-devel-jp メーリングリストの案内
アーカイブの一覧に戻る