Released Specter 0.11.1 with bug fixes and performance improvements. It also has a new README which I hope provides a better introduction to the project. https://github.com/nathanmarz/specter
The navigators are now very intelligent about using the best means possible for traversing data structures. For example, ALL uses mapv on vectors, reduce-kv on small maps, and reduce-kv in conjunction with transients on larger maps. Full changelog below: * More efficient inline caching for Clojure version, benchmarks show inline caching within 5% of manually precompiled code for all cases * Added navigators for transients in com.rpl.specter.transient namespace (thanks @aengelberg) * Huge performance improvement for ALL transform on maps and vectors * Significant performance improvements for FIRST/LAST for vectors * Huge performance improvements for `if-path`, `cond-path`, `selected?`, and `not-selected?`, especially for condition path containing only static functions * Huge performance improvement for `END` on vectors * Added specialized MAP-VALS navigator that is twice as fast as using [ALL LAST] * Eliminated compiler warnings for ClojureScript version * Dropped support for Clojurescript below v1.7.10 * Added :notpath metadata to signify pathedfn arguments that should be treated as regular arguments during inline factoring. If one of these arguments is not a static var reference or non-collection value, the path will not factor. * Bug fix: `transformed` transform-fn no longer factors into `pred` when an anonymous function during inline factoring * Bug fix: Fixed nil->val to not replace the val on `false` * Bug fix: Eliminate reflection when using primitive parameters in an inline cached path -- 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.