3 ms·
YMMV, but it's interesting to note that some of these decisions are interrelated: [] and {} are implemented at the reader level and the reader isn't (very) exte
by moomin 12y ago
YMMV, but it's interesting to note that some of these decisions are interrelated: [] and {} are implemented at the reader level and the reader isn't (very) extensible. This makes implementing defn (and by extension a user macro like it) much easier. The same is true of putting the sparring first.
The other thing with the docstring, of course, is that Rich made the decision to only have one docstring on an overloaded function. The docstring/arg order falls straight out of that. OTOH if you've read the docs for "map" recently you may be wondering if that was such a smart decision. For better or for worse, muti-arity overloading that doesn't just do partial application is a big part of modern Clojure.