是否可以在clojure中使用公共保留字/函数
免责声明:我对clojure几乎没有经验,我想在投入时间学习该语言之前知道这是否可行 我正在寻找一种语言,允许程序员重新定义常见的保留字/符号,如“if”、“and”、“class”、“=”等,这样我就可以创建一个DSL来生成其他语言的代码 例如:是否可以在clojure中使用公共保留字/函数,clojure,metaprogramming,Clojure,Metaprogramming,免责声明:我对clojure几乎没有经验,我想在投入时间学习该语言之前知道这是否可行 我正在寻找一种语言,允许程序员重新定义常见的保留字/符号,如“if”、“and”、“class”、“=”等,这样我就可以创建一个DSL来生成其他语言的代码 例如: (class "SomeClassName" (private (static ("someProperty" (= (array '("SomeKey" "SomeValue"))))) 将返回一些可以转换为以下php的
(class "SomeClassName"
(private (static ("someProperty" (= (array
'("SomeKey" "SomeValue")))))
将返回一些可以转换为以下php的数据结构
class SomeClassName {
private static $someProperty = array("SomeKey" => "SomeValue");
}
clojure中几乎没有真正的保留字/函数,它们几乎都只是函数或宏(如、和) 真正保留的特殊功能/单词称为“特殊形式”,您可以阅读它们(如
if
,do
,等等)