2024 年 Clojure 调查! 分享您的看法。

欢迎!有关如何使用本站的更多信息,请参阅 关于 页面。

0
core.logic

我们可能可以以下这种方式支持简单的函数应用。

`
(defne substo [e new a out]
(['(var ~a) _ _ new])
(['(var ~y) _ _ '(var ~y)] (nom/hash a y))
(['(app ~rator ~rand) _ _ '(app ~rator-res ~rand-res)])

 (substo rator new a rator-res)
 (substo rand new a rand-res))

(['(lam ~(nom/tie c body)) _ _ '(lam ~(nom/tie c body-res))])

 (nom/hash c a) (nom/hash c new)
 (substo body new a body-res)))

`

如果在 unquote 中有一个序列,则我们知道我们有一个应用。所有函数符号都被保留不变,所有参数都被认为是新鲜变量或局部变量。

1 答案

0
参考:https://clojure.atlassian.net/browse/LOGIC-89 (由 dnolen 报告)
...