This commit is contained in:
Nathan Marz 2015-06-30 20:09:09 -04:00
parent 2137159311
commit f4c4ed7d56
3 changed files with 5 additions and 3 deletions

View file

@ -1,3 +1,6 @@
## 0.6.0
* Added ClojureScript compatibility
## 0.5.7
* Fix bug in select-one! which wouldn't allow nil result

View file

@ -2,7 +2,7 @@
Most of Clojure programming involves creating, manipulating, and transforming immutable values. However, as soon as your values become more complicated than a simple map or list like a list of maps of maps transforming these data structures becomes extremely cumbersome.
Specter is a library for querying and updating nested data structures. One way to think of it is "get-in" and "assoc-in" on steroids, though Specter works on any data structure, not just maps. It is similar to the concept of a "lens" in functional programming, though it has some important extensions.
Specter is a library (for both Clojure and ClojureScript) for querying and updating nested data structures. One way to think of it is "get-in" and "assoc-in" on steroids, though Specter works on any data structure, not just maps. It is similar to the concept of a "lens" in functional programming, though it has some important extensions.
Specter is fully extensible. At its core, its just a protocol for how to navigate within a data structure. By extending this protocol, you can use Specter to navigate any data structure or object you have.
@ -200,7 +200,6 @@ user> (transform [ALL (if-path [:a even?] [:c ALL] :d)]
# Future work
- Make it possible to parallelize selects/transforms
- Any connection to transducers?
- Add Clojurescript compatibility
# License

View file

@ -1 +1 @@
0.5.7
0.6.0