Tav*_*ore 5 lisp scheme the-little-schemer mit-scheme
我试图通过"The Little Lisper"并在第一章中遇到障碍.我对Emacs比较陌生(这激发了我学习Lisp和clojure的兴趣).我下载了Mit-scheme app,正在Edwin上练习.
我尝试着:
(atom? (cons a l))
Run Code Online (Sandbox Code Playgroud)
其中a是原子,l是已定义的列表.我收到以下错误:
;Unbound variable: atom?
Run Code Online (Sandbox Code Playgroud)
为什么?我使用"null"没有问题吗?功能.我以为"原子?" 是一个内部函数,检查返回的值是否为原子.
任何解释都将非常感激.我仍然没有设置我的emacs来运行方案,所有lisp方言之间的细微差别正在测试我的耐心.
在“The Little Scher”(“The Little Lisper”的更新版本)中,过程atom?定义如下(因为atom?在Scheme中不存在):
(define (atom? x)
(and (not (null? x))
(not (pair? x))))
Run Code Online (Sandbox Code Playgroud)
如果您正在使用本书的旧版本,我建议您要么寻找更新版本,要么使用本书中使用的相同编程语言:Common Lisp for The Little Lisper、Scheme for The Little Schemer - 而 Racket 是非常棒的Scheme IDE 可供使用!使用 Racket 浏览 The Little Scheduler 时,请查看此答案,了解一些提示。