Common lisp ASDF可选系统依赖项

Common lisp ASDF可选系统依赖项,common-lisp,asdf,Common Lisp,Asdf,我有一个我编写的系统,在可能的情况下使用lparallel,或者围绕它工作。问题是,我现在正试图在ECL上测试它,它只在加载lparallel时出错 是否有办法(除了#-ecl)指定由实现类型参数化的系统依赖关系?我看过Madiera端口,但它似乎只适用于子组件,而不适用于系统依赖项。我希望将我的.asd文件保持为一个简单的机器可读形式,没有读卡器条件等 (旁白:lparallel可以在当前ECL上正常加载。我的ECL刚刚过时。)据我所知,除了reader条件之外,在ASDF中没有直接的方法可以

我有一个我编写的系统,在可能的情况下使用lparallel,或者围绕它工作。问题是,我现在正试图在ECL上测试它,它只在加载lparallel时出错

是否有办法(除了
#-ecl
)指定由实现类型参数化的系统依赖关系?我看过Madiera端口,但它似乎只适用于子组件,而不适用于系统依赖项。我希望将我的.asd文件保持为一个简单的机器可读形式,没有读卡器条件等


(旁白:lparallel可以在当前ECL上正常加载。我的ECL刚刚过时。)

据我所知,除了reader条件之外,在ASDF中没有直接的方法可以做到这一点。您可以改为使用XCVB,或者编写一个添加新语法的
defsystem*
宏,或者(可能)像madeira那样钩住现有的
defsystem

在不了解您的动机的情况下,我想知道为什么要避免使用
#-ecl
的简单解决方案。是否要存储将ECL链接到不存在的lparallel的元数据?注:lisp文件中可以使用
#-lparallel
#+lparallel


顺便说一下,lparallel在ECL中对我来说很好。您正在运行最新的ECL吗?ECL中存在一个已知的错误,导致lparallel测试最终挂起,但这可能不会影响所有平台。

据我所知,除了读卡器条件外,在ASDF中没有直接的方法可以做到这一点。您可以改为使用XCVB,或者编写一个添加新语法的
defsystem*
宏,或者(可能)像madeira那样钩住现有的
defsystem

在不了解您的动机的情况下,我想知道为什么要避免使用
#-ecl
的简单解决方案。是否要存储将ECL链接到不存在的lparallel的元数据?注:lisp文件中可以使用
#-lparallel
#+lparallel


顺便说一下,lparallel在ECL中对我来说很好。您正在运行最新的ECL吗?ECL中存在一个已知的错误,导致lparallel测试最终挂起,但这可能不会影响所有平台。

ah,感谢您的提示。我的ECL确实过时了。我对保持defsystem表单简单以支持直接的外部工具感兴趣。啊,谢谢你的提示。我的ECL确实过时了。我感兴趣的是保持defsystem表单简单,以支持直接的外部工具。