Warnings printed when namespaces are loaded
zane opened this issue · comments
Overview
Since we now depend on Clojure >1.11.0 both directly and transitively through inferenceql.inference warnings are printed when namespaces from inferenceql.query are loaded. This occurs, for instance, when the CLI starts up:
❯ clj -M -m inferenceql.query.main --help
WARNING: abs already refers to: #'clojure.core/abs in namespace: zprint.range, being replaced by: #'zprint.range/abs
WARNING: abs already refers to: #'clojure.core/abs in namespace: clojure.core.matrix.impl.mathsops, being replaced by: #'clojure.core.matrix.impl.mathsops/abs
Warning: protocol #'clojure.core.matrix.protocols/PMathsFunctions is overwriting function abs
WARNING: abs already refers to: #'clojure.core/abs in namespace: clojure.core.matrix.protocols, being replaced by: #'clojure.core.matrix.protocols/abs
WARNING: abs already refers to: #'clojure.core/abs in namespace: clojure.core.matrix, being replaced by: #'clojure.core.matrix/abs
WARNING: abs already refers to: #'clojure.core/abs in namespace: clojure.core.matrix.dataset, being replaced by: #'clojure.core.matrix/abs
WARNING: abs already refers to: #'clojure.core/abs in namespace: incanter.core, being replaced by: #'incanter.core/abs
-t, --table NAME=PATH [] table CSV name and path
-m, --model NAME=PATH [] model EDN name and path
-d, --db PATH database path
-e, --eval STRING evaluate query in STRING
-o, --output FORMAT output format
-h, --help
Libraries
There are three libraries that have this issue, all of which are transitive dependencies:
-
(inferenceql.query) ➡️ hashp/hashp 0.2.1 ➡️ zprint/zprint 1.1.1 - (inferenceql.query) ➡️ probcomp/metaprob 8dc9d09 ➡️ incanter/incanter-core 1.9.3
- (inferenceql.query) ➡️ probcomp/metaprob 8dc9d09 ➡️ incanter/incanter-core 1.9.3 ➡️ net.mikera/core.matrix 0.52.0
hashp
hashp/hashp we can just remove. It should never have been committed. See #14.
Incanter
Incanter is trickier. We get Incanter transitively through Metaprob, and we only use Metaprob for its distributions. Metaprob currently needs Incanter for gamma and beta. I've created an issue against Incanter: incanter/incanter#426
Update (2022-08-26): Incanter is a transitive dependency through Metaprob. I've submitted a pull request against Metaprob that removes its dependency on Incanter.
core.matrix
The issue with core.matrix was documented (mikera/core.matrix#357) and resolved (mikera/core.matrix#359)?