Welcome! Please see the About page for a little more info on how this works.

0 votes
in Clojure by

Is this is exactly the same thing?

Clojure does not have operators that are distinct Syntax in the sense that other C-type languages do (C, Java, JavaScript, etc.)

Operations in other languages are function definitions in Clojure (thanks in part to the flexibility of names that can be used in Clojure)
E.g `+ - * / not =` are all functions in Clojure

Clojure uses parenthesis () to define the structure of the code and make the role of the reader (code parser) very straightforward and deterministic.  Therefore there is no need to define a great many precedence rules as other languages are required to do with their operatiors
e.g https://www.w3schools.com/js/js_precedence.asp

1 Answer

+1 vote

I would argue that there are no operators in Clojure, only functions, macros and special forms.

Special forms are the atoms of the language if you will. In McCarthys paper from 1960, http://www-formal.stanford.edu/jmc/recursive/recursive.html, he defines seven such special forms IIRC.