https://github.com/Engelberg/ubergraph Ubergraph is a batteries-loaded, immutable graph data structure for Clojure.
One of the most useful aspects of ubergraph has always been its super-charged shortest-path function, which encompasses least-distance, least-cost, and A* searches; targeted endpoints or open-ended searches; strict results or lazy sequences of search progress. Now, ubergraph's powerful shortest-path function can be used in search contexts other than ubergraph -- all you need to do is define a transition function and you can run its sophisticated search algorithms. This is especially useful when you are dealing with an infinite number of states, or a state space which is unknown (e.g., a puzzle where you know the starting configuration and transition rules, but don't know the states you can get to). A new function, paths->graph, will convert the search results into an ubergraph for further analysis. Check out https://github.com/Engelberg/ubergraph#search-driven-graph-generation for examples and more details. Finally, all the nested map access has been rewritten using the powerful specter library for improved speed. Thanks to those who tested the specter branch for this release. -- 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. To view this discussion on the web visit https://groups.google.com/d/msgid/clojure/CAORbMOP8_NdpLzveyerf1HS3VgJBogZVtus006q6c8Rf4XwS4g%40mail.gmail.com.