首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将chezschme设为geiser-默认实现

将chezschme设为geiser-默认实现
EN

Stack Overflow用户
提问于 2020-01-10 13:46:29
回答 1查看 903关注 0票数 2

我安装了chezscheme

代码语言:javascript
复制
$ chezscheme
Chez Scheme Version 9.5
Copyright 1984-2017 Cisco Systems, Inc.

> (define a (list 4 5 6 ))
> (set-car! a 9)
> a
(9 5 6)

并将其配置为geiser-默认实现。

代码语言:javascript
复制
(require 'geiser)
(setq geiser-active-implementations '(chez guile racket chicken mit chibi gambit))
(add-hook 'scheme-mode-hook 'geiser-mode)
(setq geiser-default-implementation 'chez)

尽管如此,当使用org src发布src c时

代码语言:javascript
复制
#+begin_src scheme :session sicp :lexical t
(define a (list 2 3 4))
(set-car! a 9)
a
#+end_src

#+RESULTS:

它在很长一段时间内都在缓冲,提示在小型缓冲器中的“chez go up”

而是执行麻省理工学院的计划。

错误:

代码语言:javascript
复制
MIT/GNU Scheme running under GNU/Linux
Type `^C' (control-C) followed by `H' to obtain information about interrupts.

Copyright (C) 2019 Massachusetts Institute of Technology
This is free software; see the source for copying conditions. There is NO warranty; not even for
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Image saved on Thursday September 5, 2019 at 11:51:46 AM
  Release 10.1.10 || Microcode 15.3 || Runtime 15.7 || SF 4.41 || LIAR/x86-64 4.118
;Warning: Invalid keyword: "/home/me/.emacs.d/.local/straight/build/geiser/scheme/chez/geiser/geiser.ss"
;Warning: Unhandled command line options: ("/home/me/.emacs.d/.local/straight/build/geiser/scheme/chez/geiser/geiser.ss")

补充:

添加geiser-chez-binary

代码语言:javascript
复制
(setq geiser-active-implementations '(chez guile))
(setq geiser-chez-binary "chez")
(add-hook 'scheme-mode-hook 'geiser-mode)
(setq geiser-default-implementation 'chez)

然后跑

代码语言:javascript
复制
#+begin_src scheme   :session sicp :lexical t :results output
(define b (list 3 4))

#+end_src

it报告

代码语言:javascript
复制
    apply: Searching for program: No such file or directory, chez

然后将chez附加到org-babel-do-load-languages,并将关键字方案更改为chez。

代码语言:javascript
复制
#+begin_src chez   :session sicp :lexical t :results output
(define b (list 3 4))

#+end_src

它报告:

代码语言:javascript
复制
  No org-babel-execute function for chez!

移除mit-方案包,它可以工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-10 14:23:20

默认情况下,Geiser认为Chez的可执行文件是scheme,但是它不是,它使用chez,Mit使用schememit-scheme。您需要在Emacs init文件中放置以下内容:

代码语言:javascript
复制
(setq geiser-chez-binary "chez")

下面是geiser-chez-binary的docstring (我已经将它更改为chez):

geiser二进制是在“geiser-chez.el”中定义的变量。

它的价值是"chez“。

最初的价值是“计划”

文档:

在启动REPL时调用Chez可执行文件的名称。

您可以自定义此变量.

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59682962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档