clojure

clojureScriptを触るついでに。
clojureScriptはまださわれていない。

会社のproxy環境下でいろいろ動かなかった。
Light Tableでpluginの一覧が取れない。proxyパスワード存在下ではそもそもまだ動かないみたいだ。
leiningenはproxyパスワードに:が入ってたせいで動かなかった。
.splitしてんじゃねーよ。結局proxyのパスワードの方を変えた。

$ wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein

$ lein repl 

でインストールした上で、replが起動。初回は時間がかかる。

  • キーワードコロン":"から始まるやつ。rubyにあるシンボルと同じようなもん。
  • マップリテラル。jsのオブジェクトリテラルに相当。キーワードをキーにすると、キーワードが関数みたいにgetterとして使用できて便利
user=> (def m {:aaa 10})
#'user/a
user=>(:a a)
10

あと重複を許さないsetとか,lispらしく普通のlistとか。

  • >> という演算子で、xargsコマンドみたく実行を繋いでいける。

説明はここ
http://clojuredocs.org/clojure.core/-%3E%3E

-

  • 演算子の記号をググれない問題。

-

  • letが普通のlispより括弧が少なくて済むとか言うけど、いくつか横に並べて書くと、どれか名前でどれが値だか分かんなくなるよね?

-

  • lisp系の言語のマクロだか関数だか区別がつかないの初心者を確実に遠ざけてるよな。

-

  • defmulti/defmethodは、いらんとまでは言わんけど、チュートリアルに載せるな。初心者が混乱するだけだと思う。