我正在尝试复制“The Little Schemer”中的代码,因为我跟进并遇到错误。
.emacs文件:
;; Melpa package contains geiser
(require 'package)
(add-to-list 'package-archives
'("melpa-unstable" . "http://melpa.org/packages/" t)
(package-initialize)
;; Setup geiser and babel
(require 'scheme)
(require 'python)
(setq geiser-active-implementations '(mit))
(custom-set-variables
'(scheme-program-name "mit-scheme"))
(org-babel-do-load-languages
'org-babel-load-languages
'((scheme . t)
(python . t)
(sh . t)))
我运行M-x geiser。这打开了一个功能齐全的Mit REPL。但是当我评估我的方案src代码块时,会发生以下情况:
#+BEGIN_SRC scheme
(define lat?
(lamda (l)
(cond
((null? l) #T)
((atom? (car l)) (lat? (cdr l)))
(else #f))))
(lat? (bacon and eggs))
#+END_SRC
#+RESULTS:
: An error ocurred.
我在运行C-c C-c时处于org-mode。
更新:我已将环境从我的Ubuntu VM切换到Cygwin。我跟着uileiknarf's Cygwin Emacs guide取得了巨大的成功。我的学习经历又回到了正轨!
答案 0 :(得分:1)
您的scheme
代码应该是这样的:
(define lat?
(lambda (l)
(cond
((null? l) #t)
((not (pair? (car l)))
(lat? (cdr l)))
(else #f))))
(lat? '(bacon and eggs))
可能会毫无错误地运行。