Here's some of Rich Hickey's rationale, from an old IRC chat (http:// clojure-log.n01se.net/date/2008-11-06.html):
"Clojure doesn't allow user-defined reader macros because they can't be combined - there's no namespace support, unlike for regular macros" "the clash problem is significant - I don't want libraries that can't be combined. Macros work, user-defined reader macros don't" On Jun 27, 8:15 pm, rob levy <r.p.l...@gmail.com> wrote: > Certainly macros can be dangerous if used recklessly or clumsily, but > > > isn't trusting the programmer and giving him powerful tools what Lisp > > is all about? No other language provides the same power of expression. > > A tour through the Clojure code demonstrates just how powerful this > > idea is and how easy it makes it for the language implementors to > > implement features in a few lines of code that are major bullet-point > > features in other languages. > > In my opinion it is much better to empower developers and build a culture of > good taste and self-discipline, than to limit the language in an attempt to > enforce particular styles. Python is the latter and Lisp is the former. > And Python code is often convoluted because of programmers working around > the limitations imposed by the language. And don't get me started on lines > of code that begin at column 80 etc. ;) > > I would argue in favor of user-defined reader macros for these same reasons, > they are rarely needed but why not maximize the power of Clojure? I think > the last word on this from Rich Hickey was "many things that would otherwise > have > forced people to reader macros may end up in Clojure, where everyone can > benefit from a common approach". To me this is Rich being like Guido von > Rossum, but maybe there are other good reasons behind the decision that he > has either not articulated or I just am not aware of/haven't read. > > Rob -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en