drracketにlabel、goto、jumpコマンドのパッケージはありますか?label、drracketのgotoコマンド
Controlパッケージには、次のエラーを与える:
(let ([x 1])
(let/ec return
(begin/goto
(label l1)
(set! x (+ x 1))
(when (= x 10000000)
(return x))
(goto l1)
2)))
goto: undefined;
cannot reference undefined identifier
ので、ループを使用して書き換えはオプションではありません、LLVM IRのコードを実行するための後藤/ジャンプ、ラベルをシミュレートする必要があります。
ループを使用して書き換えますか? –
'goto'から' loop'への変換は自動化できないので、私の目的に合わないでしょう – sinhayash
コントロールパッケージが更新されました。試してみてください。うまくいかない場合は教えてください(Githubを更新してからパッケージサーバーを起動するまで少し時間がかかることがあります)。 ラケット "最近"新しいマクロエクスパンダに切り替えました。コントロールパッケージはむしろ古いパッケージなので、新しいエクスパンダではなく古いエクスパンダで動作するトリックを使用していました。 – soegaard