clojurejs: ClojureからJavaScriptへのトランスレータ

https://github.com/kriyative/clojurejs

clojurejsはnaiveなClojureのサブセットからJavaScriptへのトランスレータ。予想可能な振舞に重点をおいている。例えば、let loop/recurなどではanonymous関数を使うことによりスコープルールの一貫性を保っている。

このCloujureが


(js
(defn test-fn [a]
(let [b (+ a 1)
c (+ b 1)]
(+ a b c))))
こんなJavaScriptになる

test_fn = function(a) {
return (function () {
var
b = (a + 1),
c = (b + 1);
return (a + b + c);
})();
}