Guest User

Untitled

a guest
Jul 20th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.37 KB | None | 0 0
  1. (import 'java.io.File)
  2. (require '[clojure.zip :as zip])
  3.  
  4. (defn branch? [f]
  5. (.isDirectory f))
  6.  
  7. (defn children [f]
  8. (.listFiles f))
  9.  
  10. (defn iterzip [z]
  11. "Iterate over a zip, returns a sequence of the nodes"
  12. (when (not (zip/end? z))
  13. (cons (zip/node z) (lazy-seq (iterzip (zip/next z))))))
  14.  
  15. (defn iterdir [path]
  16. (iterzip (zip/zipper branch? children nil (File. path))))
Add Comment
Please, Sign In to add comment