ClojureのS式になんでも書けるという話

2017-05-27 / [clojure]

S式という記法(?)はほんとになんでも書けると知った。

翌日追記: S式というかReaderがすごいっぽい。

例えば

(def japanese '(式のなかに 日本語を書くと そのままシンボルになる))

とか

(defn 二倍 [x](\* x 2))

とか書ける。

それにmutil line stringも

(def multiline "複数行の文字列もそのまま改行を含んだStringに構築される")

こんなふうに書ける(Pythonぽい)。

何が嬉しいって、 日本語で書いた文章がS式として構造化できるところ。 すごくない?

昨日はそれの事実を確認してとても興奮しました。

Haskellでもquasi-quote使えばできるのだろうけれど、ClojureのASTと比べると複雑に見える。GHCのバージョンアップでASTの仕様が変わる可能性よりも、ClojureのASTの仕様が変わる可能性はずっと低そうだし。