Field Notes from the Mailing List
Performance is measured on every release, not guessed. Contributions are welcome, especially to the documentation.
What I would do differently
The library has no runtime dependencies and builds in seconds. Every public function is documented and covered by tests. What surprised me most was how little equipment it needed. Most of what I know about releases came from getting it wrong first.
In practice
Good dependencies is for the most part a series of little, unglamorous decisions. I wrote most of this on a calm Monday morning. Here is what altered, and what stayed exactly the same. Most problems with benchmarks turn out to be problems with time. Configuration is optional; the defaults are meant to be sensible.
Below are a few notes, roughly in the order I worked out them. I altered my mind about the public API twice while writing this. In December the light changes, and so does the work. Some of this will be self-evident; some of it took me years.
It took me two attempts to see the pattern.
The dependency-free part is seldom the hard part; consistency is.