The Blackbird combinator in Clojure:
(defn blackbird [f g] (fn [x y] (f (g x y))))
or (def blackbird (comp comp comp)) (defn blackbird [f g] (fn [x y] (f (g x y))))
or (def blackbird (comp comp comp))No comments yet.