Fork me on GitHub
#clojure-dev
<
2018-01-11
>
Alex Miller (Clojure team)01:01:24

I actually discovered that while writing the spec last year :)

Alex Miller (Clojure team)01:01:05

I asked Rich and Stu about it and the idea was that if you have a big meta map it would dominate the defn so you could stick it at the end

Alex Miller (Clojure team)01:01:11

I did actually find a couple of examples because I didn’t have it in the spec and it failed, but I don’t remember where they were

cfleming06:01:24

Yeah, when I wrote the grammars for Cursive I saw that, and I couldn’t find a good explanation for it at the time.

reborg09:01:47

Also noticed that, I would be interested to know if there are examples in the wild. Perhaps I'd use it at the end if I had 2/3 metadata keys (not booleans) and having them before the name of the function makes the whole defn confusing.

reborg10:01:51

Ops, what @alexmiller already said 🙂 So there are 3 places that will merge into the same var meta: (meta (defn ^{:t1 1} foo "docstring" {:t2 2} ([a b]) {:t3 3}))