lisp - 阅读器级别的 Common Lisp 调试
问题描述
我不确定如何正确表达这个问题。但是,它是这样的。
假设我们有一些宏与defun
Common Lisp 中的工作类似,并且是在此基础上构建的。我用这样的宏之一做了一个声明,它编译得很好。
但是,当我在 REPL 打电话时,我得到NIL
了结果。这似乎令人费解,所以我评估了 REPL 的原始声明。它评估为NIL
。
我需要调试这个。我的问题是我应该关注读者级别还是其他地方。也就是说,如果没有抛出错误,我可以从哪里开始解决这个问题?
解决方案
使用该MACROEXPAND
函数查看您的宏调用扩展为什么。
(pprint (macroexpand '(my-defun ...)))
推荐阅读
- python - 模型的对数残差调整
- javascript - 猫鼬在对象数组中找到
- ruby-on-rails - 在 Rails 中更改命名空间
- javascript - Vue:根据对象顺序对数组进行排序
- c# - 安装插件时出现 NopCommerce 4.10 错误
- reactjs - 在同一页面上加载两个 React 实例
- reactjs - CustomizedComponent 未与 redux 连接
- java - 带有虚假用户输入的 Java 测试扫描仪
- common-lisp - windows环境下加载hunchentoot时出错
- google-apps-script - 特定订单谷歌脚本(range.sort)