Gibt es irgendwelche Pakete für Label, Goto, Sprungbefehle in drracket?label, goto befehle in drracket
Das Control Paket gibt den folgenden Fehler:
(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
Need Etikett zu simulieren, goto/Sprung für Code in LLVM IR ausgeführt wird, so Umschreiben Loops ist keine Option.
Mit Loops neu schreiben? –
Konvertierung von 'goto' nach' loop' kann nicht automatisiert werden, daher wird es nicht meinem Zweck entsprechen – sinhayash
Das Kontrollpaket wurde nun aktualisiert. Bitte versuchen Sie es und lassen Sie es mich wissen, wenn es nicht funktioniert (es könnte eine kleine Verzögerung von der Aktualisierung auf Github zum Paketserver geben, der es aufnimmt). Racket "vor kurzem" auf einen neuen Makroexpander umgeschaltet. Das Kontrollpaket ist ziemlich alt, also verwendete es Tricks, die auf dem alten Expander und nicht auf dem neuen funktionierten. – soegaard