「Little Schemer」でコードを複製しようとしていますが、エラーが発生しています。geiserとbabelを使ってorg-modeのmit-schemeコードブロックを評価
の.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のガイザーを実行します。これにより完全に機能する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に続き、大きな成功を収めました。私の学習経験は元気です!
(define lat?
(lambda (l)
(cond
((null? l) #t)
((not (pair? (car l)))
(lat? (cdr l)))
(else #f))))
(lat? '(bacon and eggs))
おそらくエラーなしで実行されます:
これはMITで直接動作しますか?これは例えば 'lambda 'でなければなりません。 –
実行中のorg-modeのバージョンは何ですか? 96b410f8はob-schemeに1つの重大なエラーを修正しましたが、他のものもある可能性があります。これは9.0.3に含まれています(実際には9.0.xバージョンに含まれています)が、8.xを実行している場合はおそらくそれを持っていません。しかし、あなたが*持っていても、それがうまくいくという保証はありません:ob-schemeはバグであり、これまでには多くのユーザを持っていないので、バグ報告をMLに提出すれば、理想的。 – Nick