2024 Clojure 发展状况调查! 中分享你的想法。

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

0
Clojure

这是否完全相同?

Clojure 没有像其他 C 类语言(如 C、Java、JavaScript 等)那样的具有独立语法的运算符。

其他语言中的操作在 Clojure 中是作为函数定义的(这在一定程度上得益于 Clojure 中可以使用灵活的命名命名空间的特性)
例如,`+ - * / not =` 在 Clojure 中都是函数

Clojure 使用括号 () 来定义代码结构,使代码的读取器(代码解析器)非常直接和确定,因此不需要像其他语言中运算符那样定义许多优先级规则。
例如 https://w3schools.org.cn/js/js_precedence.asp

1 答案

+2

我认为 Clojure 中没有运算符,只有函数、宏和特殊形式。

特殊形式可以看作是语言的原子。在麦卡锡1960年的论文中,[[http://www-formal.stanford.edu/jmc/recursive/recursive.html](http://www-formal.stanford.edu/jmc/recursive/recursive.html)],他定义了七个这样的特殊形式,IIRC。

...