>>790
それは末尾再帰になりますよ,$!でeagerに評価させているので.

つまり,プログラムで陽に指定しない限り,schemeのように
末尾再帰を自動的に認識して,ループに書き変えたりしない,って
ことです(というかcall-by-name(need)ではそれができない).