Lesser known Clojure: reduce kv
In addition to commonly known
reduce function Clojure has its specialized version called
reduce-kv. This function is designed to work with associative collections (like map or vector). Here is its signature:
Lesser known Clojure: keep, keep-indexed and map-indexed functions
I could safely say that
filter are the most commonly used functions in
Clojure (and probably other functional languages). Of course
Clojure provides other useful functions that operate on collections that are not so popular and commonly known. Let’s look at some of them.
Lesser known Clojure every-pred and some-fn functions
The common thing in functional programming is combining “smaller” functions into the bigger one (higher-order functions). The examples of such functions are
some-fn. Both those functions were added to Clojure in release 1.3.
Lesser known Clojure: variants of threading macro
The threading macros (
->>) provide easy to understand and read mechanism of sequential transformation of data in Clojure. I’m pretty sure that you know it, but for the sake of clarity I start this post with a recap.