Skip to content

Clojure's missing piece

nathanmarz.com
10 pointsgreenonion1 comment
On HN

Comments

This was the transformation that hooked me:

  (transform (subselect ALL :a even?)
    reverse
    [{:a 1} {:a 2 :b 1} {:a 4} {:a 5} {:a 6} {:a 8}])
  ;; => [{:a 1} {:a 8 :b 1} {:a 6} {:a 5} {:a 4} {:a 2}]]
I'm solid with Clojure, and I am not even sure how to begin expressing this transformation without Specter.

Granted, it's not clear why you would want to do this in a real program. But I'm convinced about the generic power of such transformations and have little doubt I'd find use cases (albeit probably not this use case) in real code bases.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.