我最近设置了Portacle 1.3,以学习Win 7上的常见Lisp。但是,每当我运行代码时,即使没有代码,也会出现错误。 但是,运行单独的行效果很好。该错误仅在我运行整个文件时显示。
我尝试将一些代码放入EVAL函数中,但我相信一次只能接受一个参数,因此无法在其中运行整个程序。
我在this stackoverflow页面中发现了类似的错误,但是他们的代码包含冒号,这就是他们的错误所在。
我认为运行我的代码可能是错误的,即使我不使用任何代码进行编译,也能看到错误,但我一无所知。
完整错误:
main.lisp:1:1:
read-error:
READ error during COMPILE-FILE:
illegal terminating character after a colon: #\
Line: 1, Column: 13, File-Position: 12
Stream: #<SB-INT:FORM-TRACKING-STREAM for "file [path to file]\\main.lisp" {1005F5F0D3}>
Compilation failed.
答案 0 :(得分:4)
Portacle是一个独立的Emacs,打包了Common Lisp开发所需的一切,并使用SBCL作为Common Lisp实现。
我相信您说“编译整个文件”时所执行的操作是调用slime-compile-and-load-file
,该调用默认情况下绑定到键序列C-c C-k
。这里有很多移动的组件:
所以要调试您的问题,我会尝试:
.lisp
文件以检查一切是否正常。例如,您可以将(format t "~a" (lisp-implementation-type))
放在.lisp
文件中,并通过调用(load "...\\file.lisp")
从Shell在SBCL中运行它。它应该返回"SBCL"
。C-x C-f
),然后尝试从此处调用编译(C-c C-k
)。我相信您对IDE的选择是正确的。如果您是Common Lisp的入门者并且不知道Emacs的配置,那么Portacle可以说是最简单的工具。按键绑定有些令人生畏。