在磁盘上定位ASDF系统

时间:2013-01-08 22:40:10

标签: common-lisp asdf

当尝试使用mpd接口进行常见的lisp时,相应的asdf系统被命名为“mpd”,我遇到了一个特殊的问题。当我加载系统时,它似乎会成功,但当我尝试使用这些功能时,它会声称它们是未定义的。在实验上,我试图重命名系统“cl-mpd”,并加载它,只是发现它工作。因此,我得出结论,ASDF正在加载一个不同的系统,也称为“mpd”。通常希望避免重命名系统这样的hackery,我在安装目录中查找违规系统以获取quicklisp,但无济于事。我在我的主文件夹中搜索它,但没有成功。

所以现在我问你:有没有办法在磁盘上获取ASDF系统的位置?

2 个答案:

答案 0 :(得分:2)

这是你要找的吗?

(asdf:system-relative-pathname:foo“foo / bar / baz.lisp”)

(asdf:component-pathname(asdf:find-component:foo'(“bar”“baz”)))

答案 1 :(得分:1)

  1. 找到系统
  2. 获取组件
  3. 看看其中一个
  4. 示例:

    (describe (first (asdf:module-components (asdf:find-system "mpd"))))