Happy to announce the release of Specter 0.10.0. If you're unfamiliar with 
Specter, it's a library that supercharges your ability to query and 
manipulate data structures and has performance rivaling hand-optimized 
code. The README and my talk at Clojure/west are the best introductions to 
the project.

Thanks to @StephenRudolph, @thomasathorne, @bfrabry, @aengelberg, and 
@mfikes for their contributions to this release. Their work constituted the 
bulk of the new functionality.


Highlights of the release:

- No longer uses reducers in cljs version (uses transducers instead). All 
the issues people were having using ALL should now be resolved.
- Zippers are integrated into Specter in the com.rpl.specter.zipper 
namespace.
- subselect, parser, and submap navigators
- Now compatible with bootstrap cljs


Here's a couple of interesting transformations using the new navigators:


(transform (subselect ALL :a even?)
  reverse
  [{:a 2 :b 2} {:a 3} {:a 4} {:a 6} {:a 8}])
;; [{:a 8 :b 2} {:a 3} {:a 6} {:a 4} {:a 2}]

(def STRING<->LONG (parser #(Long/parseLong %) str))
(transform [ALL LAST STRING<->LONG]
  inc
  {:a "1" :b "2"}
  )
;; {:a "2" :b "3"}

-- 
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/d/optout.

Reply via email to