使用した数値に応じてコードを実行すると、2 つの異なる動作が見られたとき、SICP 本の演習 1.6 の解決に取り組んでいました。
sqrt-iter プロシージャを呼び出すときに自然数を使用すると、インタープリターは決して停止しませんが、浮動小数点数を使用して 10 進数の除算を強制すると、インタープリターは次のように応答します: Aborting!: maximum recursion depth exceeded.
異なる動作の理由を知っている人はいますか?
コードを実行したい人を助けるために、回答の要旨を作成しました。コピーして貼り付けるだけです:http://bit.ly/Qv1wru。mit-scheme のバージョンは 9.1.1 です。