tail-recursion

Die Tail-Rekursion ist eine rekursive Strategie, bei der eine Funktion eine gewisse Menge an Arbeit ausführt und sich dann selbst aufruft. Der "Schwanz" bezieht sich auf die Tatsache, dass die Rekursion am Ende der Funktion ist. Viele - insbesondere funktionale - Programmiersprachen-Compiler können diese Arten von Aufrufen in Iteration umwandeln, was bedeutet, dass die Tail-Rekursion in unterstützten Sprachen ohne Angst vor einem Stack-Überlauf verwendet werden kann, unabhängig von der Anzahl der Aufrufe.
2
Antworten

Schaltet die CLR .tail-Anweisung den preemptive GC aus?

Ich versuche, ein Produktionsproblem mit einem Windows-Dienst zu debuggen, der dazu neigt, schnell umzufallen, wenn mehrere gleichzeitige Verbindungen aktiv sind. Durch die Magie eines Core-Dumps und DebugDiag konnte ich feststellen, dass es ein...
06.09.2013, 20:29
1
Antwort

Tail ruft in Mono auf

Ich habe Code in F #, der unter .net funktioniert, aber den Stapel unter Mono überläuft. Ein damit zusammenhängendes Problem ist, dass es anscheinend so lange dauert, bis der Stack, der ihm möglicherweise zur Verfügung steht, abläuft (es wird mi...
26.08.2013, 18:24
3
Antworten

F # hat Tail Call Elimination?

In diesem Gespräch , in den ersten 8 Minuten, erklärt Runar, dass Scala Probleme mit der Eliminierung von Tail Calls hat. Das lässt mich fragen, ob F # ähnliche Probleme hat. Wenn nicht, warum nicht?     
31.03.2014, 09:32
5
Antworten

So vereinfachen Sie verschachtelte Daten, wenn Sie Werte in Haskell zurückgeben

Ich möchte den Zustand des vorherigen if condition überprüfen, um zu bestimmen, ob der nächste if condition ausgeführt werden soll oder nicht. Jedes if condition kann einen Wert zurückgeben. Bearbeiten: Entschuldigung dafür, dass das...
06.02.2013, 18:20
3
Antworten

Tail Rekursive Levenshtein Entfernung

Ich habe Levenshtein Distance in einer ziemlich normalen Weise in F # als Übung implementiert. %Vor% Ich sehe jedoch keine direkte Möglichkeit, den Aufruf von List.min so zu konvertieren, dass er rekursiv ist. Wir machen nicht einfach einige...
13.02.2013, 18:00
2
Antworten

Erlang: Kann das ohne Listen gemacht werden: umgekehrt?

Ich bin ein Anfänger, der Erlang lernt. Nachdem ich in Erlang über List Comprehensions und Rekursion gelesen hatte, wollte ich versuchen, meine eigene map -Funktion zu implementieren, die so aussah: %Vor% Meine Frage ist: Es fühlt sich fa...
30.05.2011, 18:09