在阅读Peter的“实用Common”一书时,我很难理解如何与Emacs的黏液和quicklisp一起处理Common包系统。他提供的项目结构如下:
spam.lisp在包com.gigamonkeys.spam中,它依赖于另外两个包,cl-ppcre和com.gigamonkeys.pathnames。pathnames.lisp com.gigamonkeys.pathnamesspam.asd,它描述com.gigamonkeys.spam包的依赖关系。pathnames.asd,它描述com.gigamonkeys.pathnames包的依赖关系。我目前找到的构建最终目标spam.lisp的唯一方法是:
pathnames.asd )编译和加载pathnames.asd文件com.gigamonkeys.pathname来加载(asdf:operate 'asdf:load-op 'spam)包cl-ppcre来加载(ql:quickload "cl-ppcre")包spam.asd文件com.gigamonkeys.spam来加载(asdf:operate 'asdf:load-op 'spam)包这似乎是使用单个文件(spam.lisp)中定义的函数所需的大量工作--我肯定做错了什么。有什么方法可以用较少的命令来加载spam.lisp并递归地加载它的依赖项吗?
发布于 2012-11-18 09:04:46
一些术语:
这类系统设施的一部分是一个登记册,在那里可以找到所有系统。系统定义描述它所包含的文件以及它所依赖的所有系统。通常,这样的注册表是文件系统和/或注册表(变量,.)中的目录。在跑步的李斯特里。
在加载特定系统时,系统工具将查找注册表,加载定义,递归加载所有需要的系统,然后加载所有文件。
参见ASDF手册:配置ASDF以查找您的系统
https://stackoverflow.com/questions/13437669
复制相似问题