如何查找加载的 ASDF 系统的符号(和源文件)
Posted
技术标签:
【中文标题】如何查找加载的 ASDF 系统的符号(和源文件)【英文标题】:How Can I Find Symbols (and Source Files) of a loaded ASDF System 【发布时间】:2021-09-13 20:03:12 【问题描述】:我有一些 ASDF3 系统,它们都共享一个公共包。
我想知道如何找到仅由其中一个定义的所有符号。有没有办法收集这些?能够确定定义给定符号的源文件的路径名也很有帮助。
我很欣赏最佳实践会规定每个系统使用单独的包,但我现在有一些理由不这样做。 (如果绝对必要,我可以重新考虑。)
【问题讨论】:
【参考方案1】:没有。 ASDF 不知道它加载的系统和文件的内容。
系统是文件的集合以及一些描述其依赖拓扑(以及其他)的元数据。没有什么规定文件甚至必须是 Lisp 文件。
您可以尝试询问您的 Lisp 实现是从哪个文件加载的 e. G。一个函数定义,然后从文件名和位置推断它可能属于的系统(假设您的系统不使用相同的文件)。
【讨论】:
感谢您的澄清。除非我以后想分享代码,否则我真的只使用 SBCL。我会按照你的建议研究具体的实现。这不是成败的局面。以上是关于如何查找加载的 ASDF 系统的符号(和源文件)的主要内容,如果未能解决你的问题,请参考以下文章