(define (p) (p))
(define (test x y) (if (= x 0) 0 y))
Then he evaluates the expression
(test 0 (p))
网上搜索,几乎所有的答案都说正则序会执行if判断后,返回0,不会去计算(p),我的疑问是,书上说的正则序会替换直到得到一个只包含基本运算符的表达式,那么由于p的存在,应该会陷入无穷的替换之中阿,为什么会替换停止
(define (test x y) (if (= x 0) 0 y))
Then he evaluates the expression
(test 0 (p))
网上搜索,几乎所有的答案都说正则序会执行if判断后,返回0,不会去计算(p),我的疑问是,书上说的正则序会替换直到得到一个只包含基本运算符的表达式,那么由于p的存在,应该会陷入无穷的替换之中阿,为什么会替换停止