Warum kann Scalac die Tail-Rekursion in bestimmten Szenarien nicht optimieren?

8

Warum optimiert scalac (der Scala -Compiler) die Tail-Rekursion nicht?

Code- und Compileraufrufe, die dies demonstrieren:

%Vor%     
IttayD 09.11.2009, 06:24
quelle

3 Antworten

12

Methoden, die überschrieben werden können, können NICHT tail rekursiv sein. Versuchen Sie Folgendes:

%Vor%     
Walter Chang 09.11.2009, 06:39
quelle
1

Versuchen Sie Folgendes:

%Vor%

Beachten Sie, dass ifak möglicherweise rekursiv ist, aber möglicherweise nicht so gut. Markieren Sie die Klasse oder die Methode final und es wird wahrscheinlich tail-rekursiv gemacht.

    
Daniel C. Sobral 09.11.2009 11:17
quelle
0

Innere Funktionen sind auch für TCO geeignet.

    
Randall Schulz 09.11.2009 14:42
quelle