いいかげんClojure
AndroidをClojure書けると知って、Clojure熱が再燃したので購入。
- 作者: Stuart Halloway,川合史朗
- 出版社/メーカー: オーム社
- 発売日: 2010/01/26
- メディア: 単行本(ソフトカバー)
- 購入: 10人 クリック: 338回
- この商品を含むブログ (72件) を見る
ClojureはLispリローテッドというのはしっくりくるなぁ。Lispのとっつきにくいところを修正したりしてる。「括弧の少ないLisp」というのは新しいよ。括弧が多いっていうこと認めてるんだもんなぁ。心の目で見れば見えませんとかいう禅問答から抜けだした感じ。
あとREPLもよくできている。関数定義のdefnって関数名と引数の間にメタデータとして関数の説明を文字列で記述できるんだけど、REPLでdocっていう関数(マクロ?)を使うとそれを表示してくれる。あと、REPLのutilとしてshowっていうのも用意されているんだけど、これだとJavaのクラスひいてくるとかよくできてる。
で、この本買ったのはCloureがJavaとのやりとりにおいて、どうやって状態の変更とかを実現しようとしているのかが気になったからなんだけど、そこでは関数型的な要素はきっぱり切り捨ててるのか。そういった潔さはいいね。
あと、この例題がすごいと思った。
user=> (.start (new Thread (fn [] (println "Hello" (Thread/currentThread))))) nil user=> Hello #<Thread Thread[Thread-3,5,main]>
JavaのThreadにClojureの無名関数渡して動くとか。
これは楽しいなぁ。