I just released Specter 0.9.2: https://github.com/nathanmarz/specter https://clojars.org/com.rpl/specter/versions/0.9.2
Specter solves a near-universal problem encountered when writing Clojure/ClojureScript: the need to transform or query a data structure that's more sophisticated than a basic map or list. It is a library that captures the notion of "navigation" within a data structure and allows for writing elegant queries and transformations. Its performance is close to hand-optimized code so it can be used even in performance-critical code. Additionally, Specter is extensible to any data structure as it is based on a simple protocol. There have been over 15 releases since I last posted about Specter on the group (almost a year ago), and there's been a ton of improvements since then: - Precompilation feature enabling performance rivaling hand-optimized code - Facilities for creating recursive navigators, including pre-walk and post-walk traversals (declarepath/providepath, stay-then-continue, continue-then-stay) - ClojureScript support - Conditional navigation (if-path, cond-path) - Protocol paths: navigate based on the type of data encountered - "Batteries included" set of navigators that captures majority of use cases dealing with combinations of maps, lists, vectors, and sets -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to [email protected] Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to [email protected] 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
