Macros 如何在方案中使用宏扩展器过程中的现有宏,例如“let values”?
如何从我自己的宏中调用内置的Chicken Scheme宏(在本例中具体地说是Macros 如何在方案中使用宏扩展器过程中的现有宏,例如“let values”?,macros,scheme,chicken-scheme,Macros,Scheme,Chicken Scheme,如何从我自己的宏中调用内置的Chicken Scheme宏(在本例中具体地说是let values) (define-syntax ... (ir-macro-transformer (lambda (expr inject compare) (let-values (...) ... ... 未绑定变量:let值 恐怕这有点问题。一个简单的(语法鸡导入)帮了我的忙 在CHICKEN 5中,这种方法没有这么奇怪的导入。有没有办法查看在CHICKEN 4.9的语法阶段导入了哪
let values
)
(define-syntax ...
(ir-macro-transformer
(lambda (expr inject compare)
(let-values (...) ...
...
未绑定变量:let值
恐怕这有点问题。一个简单的
(语法鸡导入)
帮了我的忙
在CHICKEN 5中,这种方法没有这么奇怪的导入。有没有办法查看在CHICKEN 4.9的语法阶段导入了哪些符号?@Sylvester:有一个黑客:
(map car(##sys#macro environment))
显示了可扩展到的内部信息(我想…?)。使用(map car(##sys#meta macro environment))
可以看到程序宏可用的过程。@sjaman那么第一个列出可用的宏,第二个列出可用的函数?但这两个调用的输出似乎都是宏的名称……@sjaman……那么什么是Chicken 5?我在网站上没有看到关于4.11之后的任何版本,甚至是beta版。@Sodalmaghty:它目前正在开发中。有关进度,请参阅和。