Hash λ Bye

Haskell, Clojureなどの話

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の仕様が変わる可能性はずっと低そうだし。