Oui et la plupart des compilateurs modernes savent gerer les fonctions tail recursives, ce n'est plus limité au Scheme. Bref un peu de douceur dans le monde de brute des programmeurs en C :)
Par exemple gcc transforme tres bien des fonctions recursives terminales en iteration; bon la je triche un peu il y a je ne sais plus qu'elle condition dessous qui est du au fonctionement interne de gcc.
C'est active avec l'option :
-foptimize-sibling-calls
Optimize sibling and tail recursive calls.
[^] # Re: Le deuxième effet OCaml
Posté par ckyl . En réponse à la dépêche Havoc Pennington se pose des questions sur les langages du libre. Évalué à 1.
Par exemple gcc transforme tres bien des fonctions recursives terminales en iteration; bon la je triche un peu il y a je ne sais plus qu'elle condition dessous qui est du au fonctionement interne de gcc.
C'est active avec l'option :
-foptimize-sibling-calls
Optimize sibling and tail recursive calls.
Enabled at levels -O2, -O3, -Os.