9 lines
311 B
Clojure
9 lines
311 B
Clojure
(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)))
|