In two previous posts, I went on about lenses in Clojure.
a small library of higher order functions to formalize and simplify
the viewing and manipulation of complex nested structures.
Tinholes did essentially the same
thing, but with macros instead. In both cases, there's recursion going on,
as we burrow through layers of nesting, but macros had the advantage
of doing it all before compilation, giving
core.typed a chance to
check our work.
The macro post was inexplicably popular, catapulting me to levels of fame I never expected to achieve without consciously emulating an early De Niro …more ...