http://mywiki.jp/itkz/SICP+%93%C7%8F%91%8D%C0%92k%89%EF/2008-02-08/ * 後に書いているはずの (define biggest (if (> bigger c) bigger c)) が先に評価されているっぽいので (define biggest (if (> bigger c) bigger c)) と順序を入れ替えたら動いた。 * define ってそのスコープの中で後に書いた方が先に評価されるの? * さっぱりわからない。 ええとですねこれは R5RS に違反しています。少なくとも、R5RS の範囲で言うなら、どうなるかは分からないのですよ。 http://www.unixuser.org/~euske/doc/r5rs-ja/ 参照するのが R5RS で、古くて申し訳ないのですが、このコードでの記述は 5.2.2.