Clojureのコマンドライン引数解釈が特殊かも
プログラムに対して空白を含む文字列を与えたとき、C や Java ならばこうなります
$ ./program '[1 2 3]' => "[1 2 3]" という文字列1つが引数
しかし、Clojureだとこうなるみたいです。
$ ./program '[1 2 3]' => "[1" "2" "3]" という3つの文字列
ひとつの文字列として与えたい場合、もう一つクオートするか、
$ ./program '"[1 2 3]"' => "[1 2 3]"
空白をエスケープしないとダメみたいです。
$ ./program '[1\ 2\ 3]' => "[1 2 3]"
引数としてリストやマップを文字列で与えて、read-string で評価しちゃおうなんて考えていると引っ掛ります。というか引っ掛りました。