zip-reduce
The other day I wrote this as a utility function because I couldn't find anything like it in the zipper libary. Am I missing something? Is something like this implemented somewhere? (defn zip-reduce Reduce called on a zipper. [f acc z] (if (zip/end? z) acc (recur f (f acc z) (zip/next z -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: zip-reduce
Probably better to write it more generally, by creating a seq from a zipper and then just using the ordinary reduce function on that zip: (defn zip-seq [f acc z] (map node (tree-seq branch? children z))) (reduce f acc (zip-seq some-zipper)) On Monday, December 24, 2012 6:27:00 PM UTC-8, JvJ wrote: The other day I wrote this as a utility function because I couldn't find anything like it in the zipper libary. Am I missing something? Is something like this implemented somewhere? (defn zip-reduce Reduce called on a zipper. [f acc z] (if (zip/end? z) acc (recur f (f acc z) (zip/next z -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: zip-reduce
Except of course zip-seq doesn't need the f, acc arguments. Sorry about that. On Monday, December 24, 2012 7:18:17 PM UTC-8, Alan Malloy wrote: Probably better to write it more generally, by creating a seq from a zipper and then just using the ordinary reduce function on that zip: (defn zip-seq [f acc z] (map node (tree-seq branch? children z))) (reduce f acc (zip-seq some-zipper)) On Monday, December 24, 2012 6:27:00 PM UTC-8, JvJ wrote: The other day I wrote this as a utility function because I couldn't find anything like it in the zipper libary. Am I missing something? Is something like this implemented somewhere? (defn zip-reduce Reduce called on a zipper. [f acc z] (if (zip/end? z) acc (recur f (f acc z) (zip/next z -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en