Extending and Using Specter
Last updated on 2016-06-14
About the Book
Core Clojure has functions to query and update shallow or homogenous data structures. However, anyone who's worked with more complex data has written special-purpose functions to reach into or "modify" it. Specter provides an alternative to those functions: a rich language for describing paths into structures.
Specter is simple and focused enough that it doesn't need a full-fledged book. However, it's powerful enough, with enough features, that this book will save you considerable time as you get going with Specter.
The book also explains Specter's internals, for two reasons:
- You'll need to understand them in order to write extensions.
- It has an interesting design that uses broadly-applicable functional-programming patterns.
In fact, so interesting is the design that the book takes the unusual approach of teaching you Specter's API by having you implement it yourself.
Preface: Why Specter?
- Specter for selecting
- Specter for updating
- Specter for learning
How to Use this Book
- Specter API exercises
- Specter implementation exercises
- Thanks for the comments and corrections
- Contacting me
Understanding Specter By Building It
- Predictive vs. runtime protocol lookup
The Leanpub 45-day 100% Happiness Guarantee
Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms...