Was ist Tail-Call-Optimierung? Genauer gesagt, was sind einige kleine Codefragmente, wo sie angewendet werden könnten und wo nicht, mit einer Erklärung, warum?
Ich denke, es gibt @tailrecAnmerkungen, um sicherzustellen, dass der Compiler eine rekursive Endfunktion optimiert. Stellen Sie es einfach vor die Erklärung? Funktioniert es auch, wenn Scala im Skriptmodus verwendet wird (z. B. :load <file>unter REPL)?
Zwei Jahre nach der Optimierung des JVM-Prevent-Tail-Call scheint es eine Prototyp- Implementierung zu geben, und MLVM listet die Funktion seit einiger Zeit als "Proto 80%" auf. Gibt es kein aktives Interesse von Sun / Oracle an der Unterstützung von Tail Calls oder ist es nur so, dass Tail Calls "[...] …
Ich habe heute den Befehl "time" unter Unix entdeckt und dachte, ich würde ihn verwenden, um den Unterschied in den Laufzeiten zwischen tail-rekursiven und normalen rekursiven Funktionen in Haskell zu überprüfen. Ich habe folgende Funktionen geschrieben: --tail recursive fac :: (Integral a) => a -> a fac x = fac' …
Der Titel der Frage mag etwas seltsam sein, aber die Sache ist, dass meines Wissens nichts gegen die Optimierung von Tail Calls spricht. Beim Durchsuchen von Open Source-Projekten bin ich jedoch bereits auf einige Funktionen gestoßen, die aktiv versuchen, den Compiler daran zu hindern, eine Tail-Call-Optimierung durchzuführen, beispielsweise die Implementierung …
Insbesondere wenn ich folgenden Code habe: func sum(n: Int, acc: Int) -> Int { if n == 0 { return acc } else { return sum(n - 1, acc + n) } } Wird der Swift-Compiler es zu einer Schleife optimieren? Und in einem interessanteren Fall weiter unten? func isOdd(n: …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.