1

I used followed codes to solve tree re-parenting the question in 4clojure, but the answer is the clojure.zip namespace is not required, under not modified my codes, how can I pass it?

(fn gen-tree
  [nr tree]
  (let [zp (clojure.zip/seq-zip tree)
        pnodes (:pnodes (second
                          (first
                            (filter
                              (fn [[nd :as loc]]
                                (= nr nd))
                              (iterate clojure.zip/next zp)))))]
    (reduce (fn [rs e]
              (concat e (list (remove #(= e %) rs))))
            pnodes)))
Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
qining.shi
  • 845
  • 1
  • 6
  • 4

1 Answers1

0

You can't. User code on 4clojure is not allowed to load namespaces.

Aside: your code will fail for sufficiently large inputs, because of the reduce/concat problem shown in, for example, Why does reduce give a StackOverflowError in Clojure?.

Community
  • 1
  • 1
amalloy
  • 89,153
  • 8
  • 140
  • 205