ClojureのS式になんでも書けるという話
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の仕様が変わる可能性はずっと低そうだし。