| The reader is first of all there to extend s-expression syntax to new datatypes - not for arbitrary syntax. Btw., vectors are written as #(1 2 3) in Common Lisp. Thus if I as a developer want to serialize my data structure to an s-expression, I can use reader macros. New data type syntaxes does not make code much harder to read. > If you believe that standards are helpful, then surely one standard reader behaviour is a good thing? Sure, Common Lisp has a standard reader. An extensible one. > Regular macros are a different issue: they allow creation of custom control structures that aren't possible with normal functions. That's a powerful and useful feature, as many Lisps have proved over the years. Custom control structures don't make the code harder to understand? Strange. > For me, Clojure gets the majority of these design decisions right. For me many of these Clojure design decisions look arbitrary and some I find just wrong. But that's just me. |