我一直在讨论一下clisp。有点令人困惑的是,它不会打印错误所在的行号。或者,至少是错误所在的一般提示。在某些情况下必须是可能的,对吧?有什么方法可以得到更好的错误消息吗?
答案 0 :(得分:0)
正如我在大多数问题中看到的涉及clisp,答案可能是“不要使用clisp”。
正如您可能知道的那样,clisp只是Common Lisp的众多实现之一,可能不是更受欢迎的实现之一。对于大多数任务来说,SBCL,Clozure,Allegro和LispWorks可能是更好的选择。
编辑:
此外,在emacs中使用SLIME来调试程序有很大帮助。即使从clisp(和其他人)使用SLIME,您也可能获得更好的调试器输出。
答案 1 :(得分:0)
首先,Lisp阅读器读取表单,而不是行,所以"行号"对它毫无意义。
也就是说,Lisp知道表单开始和结束的行,这些值实际上是由SLIME报告的。默认情况下不报告的原因是it is assumed that the debugger will make this information accessible in situations where it is necessary and appropriate。