繁体   English   中英

如何将 gensym 传递给常用 lisp 中的函数名

[英]how to pass a gensym to a function name in common lisp

我正在使用 Lucerne 构建一个 api,并尝试根据列表(它们是非常简单的端点)生成这些 api。 问题是(gensym)使用的视图只是函数,所以如果我在运行时将(gensym)传递给宏,则该视图函数的名称只是设置为(gensym) (或者它失败了,不记得是哪个)。

我想在一个宏中动态命名一组这些视图函数,该宏将处于某种循环中,每次运行宏扩展的代码时,函数都有一个新名称(所以如果我只使用每次运行宏时的标准gensym每个函数将始终具有相同的名称,并相互覆盖)。 有没有办法做到这一点?

您可能希望使用intern创建“公共”符号(用户将按名称调用)和“私有”符号(存储在某处)的make-symbol

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM