0

我有一个我编写的系统,它尽可能使用 lparallel,否则可以解决它。问题是,我现在正试图在 ECL 上对其进行测试,仅在加载 lparallel 时就会出错。

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

(旁白:当前 ECL 上的 lparallel 负载正常。我的刚刚过时了。)

4

1 回答 1

3

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

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

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

于 2012-10-06T16:06:21.160 回答