4 ms·
> I would argue that the additional syntax isn't necessary, which is my biggest beef with it - since you can convey the semantics of a vector or a map without a
by nathell 14y ago
> I would argue that the additional syntax isn't necessary, which is my biggest beef with it - since you can convey the semantics of a vector or a map without altering the syntax at all, there's no reason to complicate the syntax any more than needed.
You could say the same about the quote, backquote, unquote and unquote-splicing syntactic sugar being built into the reader. It is redundant, and yet it's there in most Lisps -- because it helps readability/maintainability at the cost of the little complexity it adds.
> Let me fix that for you: in other Lisps, an item is either an atom or a cons cell.
In Common Lisp, it is only correct insofar as the language defines "atom" as "not a cons cell" [1], contrary to the intuitive understanding that it's an indivisible entity. E.g., CL vectors are atoms, even though they have more in common with lists than, say, symbols. And they do have literal syntax, like #(1 2 3). How is that different from Clojure's [1 2 3], save the different type of parens?
[1]: http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/typ_atom.html#atom http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec...
- lispm 14y agoThis has been in Lisp since the big flood.