I have been looking at a problem from several angles. It's an important problem to solve in any language but seems to be very vexing in Clojure. Perhaps someone has had significant experience with it.
I have data that can be used to build a tree structure. I know the unique things that will be in it and I can make an index of them. The tree itself will use these data points like a sort of alphabet. What I want to be able to do is to create the tree by scanning each transaction in the data and adding to the tree, while updating the index of unique items with a way of accessing their first occurrence. Each node in the tree will have access to the next occurrence or nil if there aren't any more. When I search the tree I want to go to the index, find the item I am interested in, go to it's first occurrence, read all the nodes to the root, go to the next occurrence and do the same, and so forth until I hit nil. Counts are kept on each item so if a sequence is seen again the tree is simply updated until the sequence diverges in which case it forms a new branch. I looked at Zippers and it won't work the way I want. It's also terribly inefficient if you don't start with a tree structure prebuilt. If it was 1989 I would just do this in C, with pointers and be done pretty quickly. I am thinking there is a more Lispy way of doing this but I haven't broken my thinking away from my old ways enough to see it. *Peter Mancini* Data Scientist toll free: 855.448.0708 -- <http://www.cicayda.com> <http://www.linkedin.com/company/cicayda> <https://www.facebook.com/cicayda> <http://www.twitter.com/cicayda> -- -- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.