2017-01-17 12 views
1

「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)) 

おそらくエラーなしで実行されます:

+1

これはMITで直接動作しますか?これは例えば 'lambda 'でなければなりません。 –

+0

実行中のorg-modeのバージョンは何ですか? 96b410f8はob-schemeに1つの重大なエラーを修正しましたが、他のものもある可能性があります。これは9.0.3に含まれています(実際には9.0.xバージョンに含まれています)が、8.xを実行している場合はおそらくそれを持っていません。しかし、あなたが*持っていても、それがうまくいくという保証はありません:ob-schemeはバグであり、これまでには多くのユーザを持っていないので、バグ報告をMLに提出すれば、理想的。 – Nick

答えて

1

あなたschemeのコードは次のようなものでなければなりません。

+0

いいえ、残念ながら、誤植は実際の問題ではありません。たとえ修正しても、ob-schemeは物事を正しく評価できません。私が言ったように、それはバギーです。 – Nick

関連する問題