TL;DR
内容
fn を使うと、名前を持たない関数を定義できる。
(def print-something
(fn [something]
(println something)))
(print-something "something is better than nothing")
;; something is better than nothing上のコードは something という引数を 1 つ受け取る関数を print-something という変数に束縛している。
関数の定義に使う defn は、def で定義した変数に関数 fn を束縛したもののシンタックスシュガーである。したがって、先ほどのコードは次と等しい。
(defn print-something [something]
(println something))