>>794
わかりました。ありがとうございました。

>>795
次数の低い部分が先に求まるということですよね。
>>779も私なのですが、

(evens-only*&co (car l) ;再帰1
 (lambda (al ap as)
  (evens-only*&co (cdr l) ;再帰2
   (lambda (dl dp ds)
    (col (cons al dl) (* ap dp) (+ as ds)))))

これも同じように理解していいのでしょうか?

(1) 再帰2を実行する。
例えば、(col (cons al '(2 4)) (* ap 8) (+ as 6)) のような状態が作られる。

(2)(1)の結果に対して、再帰1が実行され、a1 ap as に具体的な値が求まる。
例えば、(col (cons '(6) '(2 4)) (* 6 8) (+ 1 6)) のような状態が作られる。

(1)の処理の後に(2)の処理が実行される。

>>797
考えて見ます。

>>798
前半部分の質問は勘違いですので撤回します。
自己末尾再帰が採用されているというよりは、自己末尾再帰で
処理可能な言語仕様になっていると言えば正しいですか?