Interesting. I was just wondering recently what capabilities arc or cl had for traversing tree structures (since that is, after all what lisp is "all about") for doing something a la jquery; searching for arbitrary elements in a tree based on their name, or some attribute of their contents. I just haven't had the time to bother looking.
Seems like this would work for most cases, and it's pretty easy to make an arbitrary selector.
Did I miss anything? Are there any better options?
Also, how would you modify the data structure using this? I'm not too familiar with arc yet.
If you can modify it, I would presume it's done by editing-in-place via reference. How would you edit the tree via copying? i.e. return a new tree that's been modified?