In a private chat (I will not expose their names, but they may feel free to identify themselves in this thread) someone posed a question:
Anyone know why the multi-arity version of `defn` takes an extra optional `attr-map?` argument? https://github.com/clojure/clojure/blob/clojure-1.10.1/src/clj/clojure/core.clj#L290 Someone in the chat offered: I am sure someone wanted to do (->> {:more :metadata} (defn ... )) and fixed the issue right there. Someone else in the chat did some detective work and this is what she came up with: * defn went from a simple form that could only create single arity definitions to the current multiple-arity definitions, and when it did this, it introduced the metadata options. Back then, all of this was in src/boot.clj. The checkin was 23df286 on Mar 7, 2008 <https://github.com/clojure/clojure/commit/23df28671fe46d4a39d2aadc36262c9dae1f406a> https://github.com/clojure/clojure/commit/23df28671fe46d4a39d2aadc36262c9dae1f406a * Rich updated defn in 2009 and it was in there prior to that. * Alex added the extra arglists entry that describes it in 2011. So the multiple attr-map? values have been around since attr-maps were first introduced. No explanation why Anyone know why? -- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/clojure/CAEToNjhYaoGCL442u24f_fzQEXmbjtjdfFYqYyM8sXC%3D7S9FkA%40mail.gmail.com.