使用 mit-scheme 替代 guile 作为 org-mode 代码块的评估工具。

3

我在org模式中有一个代码块:

#+BEGIN_SRC scheme
  (define (even? n)
    (= (remainder n 2) 0))

  (even? 3)
#+END_SRC

当我使用C-c C-c评估代码时,我收到错误信息“/bin/bash: guile: command not found”。我猜这是因为org-babel期望安装的scheme实现是guile,但我有mit-scheme,我可以通过调用“scheme”来从命令行运行它。我该如何让org-babel使用mit-scheme而不是尝试使用guile?这个类似的问题不能解决我的问题,因为答案非常特定于racket。
3个回答

1
尝试更改geiser-default-implementation变量 - 这是ob-scheme软件包用于评估Scheme代码块的变量...

如果 ob-scheme 使用 Geiser,则无法与 MIT-Scheme 一起使用。Geiser 仅支持 Guile 和 Racket。 - Rptx

0

这并不是一个真正的解决方案,但我放弃了尝试让org-mode代码块在mit-scheme中工作,而是在想要评估我的代码时切换到scheme-mode,然后使用C-c C-e来评估每个表达式。


0

默认情况下,Org-mode 与 MIT-Scheme 不兼容(上次我检查时,它也不太适用于其他 Scheme,例如尝试评估返回 #t#f 的代码)。但是有一个解决方法,可以使它们能够一起工作,只有一个罪犯:结果始终只是字符串结果(而不是,例如,列表的表格或者嵌套列表)。

请参阅 blog-postrepository 了解设置方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接