I’ve just released a new Clojure library named power-dot.
It provides an enhanced Java interop feature that allows you to treat Clojure functions as Java lambdas.
power-dot, you can write code like:
(require '[power-dot.core :as dot]) (dot/.. (IntStream/range 0 10) (filter even?) (map #(* % %)) (forEach println))
(.. (IntStream/range 0 10) (filter (reify IntPredicate (test [_ x] (even? x)))) (map (reify IntUnaryOperator (applyAsInt [_ x] (* x x)))) (forEach (reify IntConsumer (accept [_ x] (println x)))))
Give it a try!