This commit is contained in:
Ingy döt Net 2013-10-27 22:24:23 +00:00
parent 6f050a029e
commit 776bba907c
3887 changed files with 59894 additions and 7280 deletions

View file

@ -0,0 +1,9 @@
(defn fringe-seq [branch? children content tree]
(letfn [(walk [node]
(lazy-seq
(if (branch? node)
(if (empty? (children node))
(list (content node))
(mapcat walk (children node)))
(list node))))]
(walk tree)))

View file

@ -0,0 +1,3 @@
(defn vfringe-seq [v] (fringe-seq vector? #(remove nil? (rest %)) first v))
(println (vfringe-seq [10 1 2])) ; (1 2)
(println (vfringe-seq [10 [1 nil nil] [20 2 nil]])) ; (1 2)

View file

@ -0,0 +1,8 @@
(defn seq= [s1 s2]
(cond
(and (empty? s1) (empty? s2)) true
(not= (empty? s1) (empty? s2)) false
:else
(if (= (first s1) (first s2))
(recur (rest s1) (rest s2))
false)))