我最近开始阅读 SICP 并做书中的练习。我在命令行上安装了 mit-scheme,在稍微修改后,我偶然发现了 DrRacket 并从http://www.neilvandyke.org/racket-sicp/安装了 SICP 组件
一切正常,直到我来到 Excercise 1.10,当我按照书中的内容编写函数时:
(define (A x y)
(cond ((= y 0) 0)
((= x 0) (* 2 y))
((= y 1) 2)
(else (A (- x 1)
(A x (- y 1))))))
然后使用 cmd + R 运行代码,然后当我从 repl 调用它时:
> (A 1 10)
我得到了错误
A: undefined;
cannot reference an identifier before its definition
但是,相同的代码适用于命令行上安装的版本。这是怎么回事?DrRacket mit-scheme 实现是否有问题,或者我在这里做错了什么?
我在 Mac OS X Yosemite 上使用 DrRacket 版本 6.1.1(m3)
任何帮助将不胜感激,谢谢!