Higher-order Contextual Functions in Clojure

A lot of functions in Clojure take the form (f args1* f2 args2*), where (f args1) represents a context and (f2 args2) represents a computation to perform in that context. I’m going to call this Clojure’s “contextual function” pattern (since I’ve never seen it named before). This pattern is easy to overlook, but it’s powerful, […]