While writing the following code for core.matrix:
(defn **
"Matrix exponent operator. Raises every element in matrix a to the given exponent.
Uses clojure.core.matrix/pow."
([a exponent]
(m/pow a exponent)))
I get the following warning:
Warning: ** not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic ** or change the name. (clojure/core/matrix/operators.clj:19)
The recommendation isn't helpful for me: I don't want ** to be dynamically rebindable, and I like the name as it is thanks. Of course, I don't want the warning either.
What's the solution?
- Some way to selectively suppress the warning?
- Allow a tag like "^:static" to stop the warning?
- Make ** allowable as a non-dynamic name? (solves my case, probably not so helpful for others....)