Chicken Scheme Interpreter であるcsiによって解釈されている間にプログラム コードを更新することは可能ですか? もしそうなら、どのように?
コードの一部をインタラクティブに変更し、その変更の効果をすぐに確認できるようにします。たとえば、次のプログラムを作成したとします。
(define (loop)
(print "Ciao")
(rest 1)
(loop))
(loop)
(仮定すると(rest 1)
、プログラムを 1 秒間一時停止する効果があります)。
このプログラムをcsiで実行すると、文字列 "Ciao" が毎秒出力されます。文字列 "Ciao" を "else" などの別のものに変更し、プログラム コード ファイルを保存すると、csiは古いプログラム コードの解釈を続行するため、文字列 "Ciao" が引き続き表示されます。この場合、文字列 "Ciao" を "else" に置き換えて変更したコードを保存すると、csiは古いファイルではなく、変更されたファイルを調べて解釈作業を続行するようにしてください。出力として「Ciao」とそれに続く「else」を取得するため、ソース コードで「Ciao」を「else」に置き換えると、「else」が表示され始めます。