使用Clojure对外来源代码进行预处理
我想预处理来自另一种语言的代码,如下所示:使用Clojure对外来源代码进行预处理,clojure,templating,Clojure,Templating,我想预处理来自另一种语言的代码,如下所示: Predicate1(X) => Predicate2(Y) <% (clojure-func "Predicate3" "X" "Y") %> 最后,我确实需要跟踪外语的变量。为此,预处理可能是错误的方法,相反,我最好完成完整的代码生成 附言:对于那些想知道我正在尝试扩展马尔可夫逻辑网络(MLN)语言的人来说。Clojure宏不会直接帮助您。宏仍然要求表达式的语法基本上是Clojure可读的,调用形式为(宏arg1 arg…) 其
Predicate1(X) => Predicate2(Y)
<% (clojure-func "Predicate3" "X" "Y") %>
最后,我确实需要跟踪外语的变量。为此,预处理可能是错误的方法,相反,我最好完成完整的代码生成
附言:对于那些想知道我正在尝试扩展马尔可夫逻辑网络(MLN)语言的人来说。Clojure宏不会直接帮助您。宏仍然要求表达式的语法基本上是Clojure可读的,调用形式为
(宏arg1 arg…
)
其他Lisp确实允许您使用reader宏扩展可读语法,但Clojure决定不允许使用它们。Clojure的世界很小。前几天我在你的博客上:)
Predicate3(X_a) => Predicate2(Y)
Predicate3(X_b) => Predicate2(Y)