Swift REPLでは、REPL状態を保持する方法は何ですか?Swift REPL:REPL状態を保存/ロードする方法は? (a.k.a. suspend/resume、snapshot、clone)
は例えば、私は、REPLでの作業の束を行い、それを保存したいので、私は後でそれを読み込むことができます。この概念は、負荷、サスペンド/レジューム、スナップショット/クローン/保存指名されるかもしれません
、シリアライズ/デシリアライズなど
これに向かって私を取得する任意の解決策は、それがハックだ場合でも、助けます
すべての履歴行を記録し、別のREPLで再生します。
すべてのオブジェクトをシリアル化し、別のREPLで逆シリアル化します。
RAMまたはVMをスナップショットし、別のマシンに複製します。
グローバル状態のコアイメージを保存し、後で実行します。
私の目標は、REPL作業を1台のマシンに保存し、別のマシンにロードすることです。
私は最終状態のみが必要です。スタック、履歴、ハンドルなどは必要ありません。
XCodeプレイグラウンドは、コンテンツを外部化する「保存」機能を使用して同様の機能を備えています。
私はSwiftがこれをサポートしているのか疑いがあります(一般的に*サポートが必要です)。 REPLがスリープサポート付きのVMの中で実行されていたのですが、残念なことに、このような「イメージ」がSmallTalkをほとんど一種類のものにしています。また、プロセスベースのスナップショットツールも認識していませんが、私は見ていません。 – user2864740
なぜ遊び場を使用しないのですか? – huocp
@huocp Swift REPLは素晴らしいので、私の経験では、遊び場よりも速くて軽いです。 – joelparkerhenderson