継続のサポートに精通している言語 (Scheme と Ruby) は、継続が作成されたときのスタック状態と命令ポインターを復元します。継続を呼び出すとヒープも復元されるプログラミング言語があるかどうか疑問に思っていますか?
[編集:] 私が受け入れた Marcelo の回答に加えて、私が説明する「ストア」の概念を効果的にサポートする ML の拡張機能も見つけました。Greg Morrisett による論文Refining First Class Storesを参照してください。
継続のサポートに精通している言語 (Scheme と Ruby) は、継続が作成されたときのスタック状態と命令ポインターを復元します。継続を呼び出すとヒープも復元されるプログラミング言語があるかどうか疑問に思っていますか?
[編集:] 私が受け入れた Marcelo の回答に加えて、私が説明する「ストア」の概念を効果的にサポートする ML の拡張機能も見つけました。Greg Morrisett による論文Refining First Class Storesを参照してください。
Haskell ではすべてのオブジェクトが不変であるため、継続するとヒープを含むプロセス全体の状態が復元されると言っても過言ではありません。
それが I/O やその他のモナドの動作にどのように影響するかを理解することは興味深いでしょう。型システムでは、I/O イベントが発生する前の状態に戻ることはできないのではないかと思い込んでしまいます。(継続はそれ自体がモナドなので、おそらく I/O とインターリーブすることはできません。)
警告: 私は Haskell をほとんど知らないので、上記のコメントはばかげたナンセンスの山になる可能性があります。