mit-scheme vim slimv:“读取错误:没有为#\ F定义的调度函数”

时间:2012-07-03 22:32:31

标签: lisp scheme mit-scheme slimv

这是一个非常简单的方案功能

(define member?
  (lambda (a lat)
    (cond
      ((null? lat) #f)
      (else (or (eq? (car lat) a)
                (member? a (cdr lat))
                ))
      )
    )
  )

然而,当我在vim中按,d ,F 来运行此功能时,出现错误

  

/home/oo/tmp/t.scm:64 read-error:没有为其定义调度函数   #\˚F

     

行:4,列:21,文件位置:64

     

Stream:#< SB-SYS:FD-STREAM for“file /home/oo/tmp/t.scm”{AC84DA9}>

enter image description here

1 个答案:

答案 0 :(得分:7)

Chris已经指出你试图将Scheme代码与Common Lisp swank服务器一起使用。 您需要运行Scheme swank服务器(例如swank-mit-scheme.scm,也包含在Slimv中)。 通常,Slimv应该在Linux上自动检测MIT方案而不需要在.vimrc中进行任何调整。要使自动检测正常工作,您需要安装MIT Scheme并且scheme命令可用。

我建议您从.vimrc删除任何与Slimv相关的设置。然后在Vim中加载.scm并输入以下命令:

:echo SlimvSwankCommand()

如果自动检测Scheme,则应该打印运行Scheme swank服务器的命令(在输出中搜索swank-mit-scheme.scm)。如果自动检测失败,则表示您没有scheme命令或Slimv未找到swank-mit-scheme.scm。在这种情况下,您需要告诉Slimv运行Scheme swank服务器的命令。您可以通过向.vimrc添加类似命令来执行此操作:

let g:slimv_swank_cmd = '! xterm -e scheme --load /your-path-to/slime/contrib/swank-mit-scheme.scm &'

但只有在自动检测失败时才这样做。如果您需要更多帮助,请随时与我联系,我是Slimv的作者。