读者级别的Common Lisp调试

Mad*_*ist 0 lisp common-lisp

我不确定如何恰当地说出这个问题.但是,它就是这样的.

假设我们有一些类似于defunCommon Lisp的宏,并且构建在它之上.我用其中一个宏做了声明,编译得很好.

但是,当我在REPL打电话时,我得到NIL了结果.这看起来令人费解,所以我在REPL评估了原始声明.它评估为NIL.

我需要调试这个.我的问题是我是否应该关注读者级别或其他地方.也就是说,如果没有抛出错误,我可以在哪里开始对此进行故障排除?

Bar*_*mar 6

使用此MACROEXPAND功能查看您的宏调用正在扩展到什么.

(pprint (macroexpand '(my-defun ...)))
Run Code Online (Sandbox Code Playgroud)