>>724-726
guile で実際にやってみたんですが,
(if (= 0 0)
0
(p))
だと, if は special form なので確かに (p) は評価されないんですが,

(test 0 (p))
だと止まらなくなります.

問題の出し方は applicative-order と normal-order で異なる振るまいをする
という感じなので, どっちかは止まるのかなと思ってるんですが,

applicative(作用) order だと (test 0 (p)) の (p) の評価の時に止まるし,
normal (正規) order だと演算子 (p) の展開が無限に続いて止まらないのでは
と思うのです.

guile は作用順序だと思うので, 正規順序の時実際にどうなるかは
わからないんですが.