Scheme:部分継続:動的束縛との組み合わせ
- GaucheFest:shelarcy
- 星の贈り物
- 「機能と構成」研究領域 領域活動・評価報告書 - 平成 16 年度終了研究課題 -
- Oleg Kiselyov,Chung-chieh Shan,Amr Sabry : Delimited Dynamic Binding
GaucheFest:shelarcy
GaucheFest第12回
継続がらみの論文読み
http://page.freett.com/shelarcy/log/2006/diary_05.html#satuki312006
Delimited Dynamic Binding
部分継続?や合成可能継続?というのは、限定継続? (Delimeted Continuation) の別名 shift/pushPropt を shift/reset のかわりに使っているが、prompt を取る以外は同じ Scheme:処理系依存構文 にあるような動的束縛? (Dynamic Binding) と限定継続の組み合わせは、動的束縛と一般の継続 (Undelimited Continuation) の組み合わせと違って未定義の動作を引き起こす
たとえば
dlet p = 1 in reset in dlet p = 2 in shift as f in pの結果は期待する1ではなく2になったり、スタックが積まれたり。そういう例は添付するソースコードに色々と載せてある
解決策
DB (動的束縛)から DC (限定継続)への変換と DB + DC から DC への変換を理論的に定義してやり、 「DC を使って DB を実装したもの」を使うようにすれば良い
星の贈り物
- http://page.freett.com/shelarcy/log/2006/diary_04.html#uduki292006
- http://page.freett.com/shelarcy/log/2006/diary_05.html#satuki312006
「機能と構成」研究領域 領域活動・評価報告書 - 平成 16 年度終了研究課題 -
- 亀山幸義?: 1 研究課題名:プログラムのメタレベルを表現・操作する言語機構