先日のEuroClojure でのAlex Miller氏の基調講演で、tools.deps.alphaやそれを使った インストーラ等の構想が発表された。
これは、1.9でClojure自身が spec.alpha や core.specs.alpha などのライブラリに依存するようになり、
これまでのようにJARをひとつダウンロードしてこればClojureを使い始められるという前提が崩れることへの対応策という
面もあるとのこと。
tools.deps.alphaの副産物というか主産物というか、cljスクリプトが新たに提供されるように
なるとのことで、
このcljスクリプトが本格的に使えるようになると、cljコマンドを叩くだけでClojureを起動できるようになる。
スクリプティングやちょっとClojureを始めてみるような用途にはむしろこれまでのClojureの環境以上に便利に使えそうな雰囲気がある。
そんなわけで、Clojureが1.9リリースに向けて着々と準備が進んでいる一方で、cljスクリプトでは残念ながら
ClojureScriptのサポートはしないことが明言されている。
しかし、Mike Fikes氏(ClojureScript主要開発メンバー、Planck等のself-hosted CLJS処理系の開発者でもある)が今日、
cljコマンドを介したClojureScriptのREPLを簡単に起動する方法を紹介してくれていた:
FWIW, @deg, if you create a
deps.ednwith
{:deps {org.clojure/clojurescript {:type :mvn, :version "1.9.908"}}}Then
clj -m cljs.repl.nodestarts a ClojureScript REPL.
from Clojurian Slack #clojure channel
つまり、ClojureScriptはもともとClojureの一ライブラリであることと、ClojureScript自身はNode上で動くREPLの
実装を含んでいることから、cljコマンドでClojureScriptを依存ライブラリに指定してワンライナーでREPLを起動することができると。
ClojureScriptはcljsbuildにしろfigwheelにしろビルドの設定が煩雑で、使い始めるまでのハードルがだいぶ
高いので、これぐらいのお手軽さでREPLを起動できるようになると入門者にとっても教える側にとっても嬉しいことが
多いなぁと思った次第でした。