3 ms·
In addition to the other problems described, Clojure just breaks the value of Lisp's syntax. Common Lisp does have its irregularities but code littered with Jav
by yarrel 10y ago
In addition to the other problems described, Clojure just breaks the value of Lisp's syntax. Common Lisp does have its irregularities but code littered with Java imports and square brackets might as well just use C formatting and be done with it.
- Zak 10y agoThe primary value, to me of Lisp syntax is that code is represented as data structure literals which can be manipulated as easily as any other data structure prior to execution. Clojure has that; it just comes with literals for a few more data structures and uses two of them, vectors and maps in the syntax of built-in forms.
- quickoats 10y agoEmacs Lisp also has syntax for vectors.
- lispm 10y agoWhy would arguments in Lisp (= "list processor") form a vector? Is it so that the syntax of vectors can be used? Then it has technical consequences. Is it because of technical issues (arguments are vectors internally) and thus it can be exposed in the syntax, too? Or both?
- Zak 10y agoI think the motivation for making the sequence of arguments in function/macro definitions vectors instead of lists was primarily syntactic - to make them look different from the body. They're definitely vectors internally though.
- int_19h 10y agoHow do square brackets break the syntax? Aren't they just syntactic sugar for (vector ...), exactly the same as ' is syntactic sugar for (quote ...)? And imports, obviously, are just special forms. It's not like Lisp doesn't have others. It's still an S-expression, so why is it problematic?