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 [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.