我不确定如何恰当地说出这个问题.但是,它就是这样的.
假设我们有一些类似于defunCommon Lisp的宏,并且构建在它之上.我用其中一个宏做了声明,编译得很好.
但是,当我在REPL打电话时,我得到NIL了结果.这看起来令人费解,所以我在REPL评估了原始声明.它评估为NIL.
我需要调试这个.我的问题是我是否应该关注读者级别或其他地方.也就是说,如果没有抛出错误,我可以在哪里开始对此进行故障排除?
使用此MACROEXPAND功能查看您的宏调用正在扩展到什么.
(pprint (macroexpand '(my-defun ...)))
Run Code Online (Sandbox Code Playgroud)