2024年Clojure状态调查中分享您的想法!

欢迎!请参阅关于页面以获取更多关于如何使用这个网站的信息。

+1
core.logic

我需要定义可以稍后(以及从其他命名空间)附加更多子句的谓词(而不仅仅是事实)。我在源代码中找不到这种功能。由于宏的广泛使用,从外部郝克构此系统是极其困难的,甚至对我来说可能是不可能的。

如果得到认可和大致的方向,我也愿意亲自实现。

3 个答案

0

评论者:werg

我实际上成功地附加了一个原型,该原型涵盖了我希望看到的基本行为:(链接:https://github.com/werg/herpderp/blob/master/src/herpderp/multo.clj

我使用在defne的元数据中存储在ref中的集合来管理子句的动态更改。改变集合后,我使用eval重新使用defne重新定义变量。

这可能会让人感觉不好,但它允许我继续开发针对它的功能。

0

评论者:dnolen

我认为当前实现无法真正支持这一点,并且我认为尝试对当前实现进行破解是不明智的。如果有人愿意进行相关工作,我会考虑一个全面解决方案。

0
参考: https://clojure.atlassian.net/browse/LOGIC-35(由 alex+import 报告)
...