loom
loom copied to clipboard
Graph transpose does not work correctly in ClojureScript
Description: When calling graph/transpose
in compiled ClojureScript, it returns a nil value for :adj
. For example:
(def g (-> graph/digraph (graph/add-edges ["foo" "bar"]))
=> {:nodeset #{"foo" "bar"}, :adj {"foo" #{"bar"}, "bar" #{"foo"}}, :in {"bar" #{"foo"}, "foo" #{"bar"}}}
(graph/transpose g)
=> {:nodeset #{"foo" "bar"}, :adj nil, :in {"foo" #{"bar"}, "bar" #{"foo"}}}
For some reason, this bug does not appear in Clojure, nor when I run ClojureScript on a REPL.
For reproduction purposes, here is part of my deps.edn
file:
{:paths ["resources" "src"]
:deps {org.clojure/clojure {:mvn/version "RELEASE"}
cider/piggieback {:mvn/version "0.5.2"}
aysylu/loom {:mvn/version "1.0.2"}
:aliases
{:test
{:extra-paths ["test"]}
:runner
{:extra-deps {com.cognitect/test-runner ;; Latest commit: 9/30/20
{:git/url "https://github.com/cognitect-labs/test-runner"
:sha "b6b3193fcc42659d7e46ecd1884a228993441182"}}
:main-opts ["-m" "cognitect.test-runner" "-d" "test"]}
:runner-cljs
{:extra-deps {olical/cljs-test-runner {:mvn/version "3.8.0"}}
:main-opts ["-m" "cljs-test-runner.main" "-d" "test" "-c" "build.edn"]}}
:mvn/repos {"jitpack" {:url "https://jitpack.io"}}}
where build.edn
is:
{
:install-deps true
:target :nodejs
}