OpenGen / GenSQL.query

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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)?