tinholes - performant, strongly typed lenses in Clojure
In a previous post, I built up a framework
for lens-like constructs in Clojure: essentially some fancified versions of
assoc-in and get-in to allow for bidirectional transformations along the
nesting path and some utilities to generate special-purpose getter/setter functions.
The name, "pinhole," is supposed to suggest a more primitive, utilitarian mechanism for
achieving focus.
While still ruing (sort of) other mistakes, I found myself worrying that a triumphal sentence near the end of the piece
What's more, thanks to the expressive power of dynamic Clojure,
and higher order functions, these lenses are not just simple to
use but …