(defmacro mac-test [] (let [s (gensym "s")] `(let [~s *x*] ~s)))
#'user/mac-test
(let [a 2] `(let ~(vector ['a a]) (do whatever)))
(clojure.core/let [[a 2]] (do user/whatever))
(let [bit-racket (fn [data] (let [d (atom data)] (fn [n] (let [f (first data)] (swap! data rest) f))))])
nil
(let [x (symbol "x")] `(let [~x 1] (print (+ ~x 1))))
(clojure.core/let [x 1] (clojure.core/print (clojure.core/+ x 1)))
(let [binding 'x body '(inc x)] `(let [binding 10] ~body))
(clojure.core/let [clojure.core/binding 10] (inc x))
(let [a :foo] (prn a) (let [a :bar] (prn a)) (prn a))
nil
":foo\n:bar\n:foo\n"
(let [x "woohoo!"] (println (type x)) (let [x 100] (println (type x))))
nil
"java.lang.String\njava.lang.Long\n"
(let [binding 'x body '(inc x)] `(let [~binding 10] ~body))
(clojure.core/let [x 10] (inc x))
(let [a [1]] [a [a]])
[[1] [[1]]]
(let [{x 0} [42]] x)
42
(let [x# 0] (println x#))
nil
"0\n"
(let [a 1] (def b))
#'user/b
(let [x 5000000000000000000000] (type x))
clojure.lang.BigInt
(let [s println] (s "Hello"))
nil
"Hello\n"
(let [inc (fnil inc 0)])
nil
(let [your-mother "nice"] (do your-mother))
"nice"
(let [x 10] (inc x))
11
(let [v 'test] `('~v))
((quote test))
(let [a (when 1 2)])
nil
(let [future identity] (future 42))
42
(let [{x 3} "hello"] x)
\l
(let [[a b] [1]] b)
nil
(macroexpand '(let [[x] 5]))
(let [[x] 5])
(let [x 15] (quote x))
x
(let [x 1] ^int x)
1
(let [inc dec] (inc 10))
9
(let [#^String n 3] n)
3
(let [size 4] (str size))
"4"
(let [!$&* 5] (inc !$&*))
6
((let [bar :foo] (bound-fn [] bar)))
:foo
(let [my-name "recursor94"] (println my-name))
nil
"recursor94\n"
(let [y 1] (print y))
nil
"1"
(let [foo "bar"] (class foo))
java.lang.String
(let [foo [:foo 3]] foo)
[:foo 3]
(let [print str] (resolve 'print))
#'clojure.core/print
(let [{{:keys [session]} :request} {}] session)
nil
(let [lst '()] (count lst))
0
(let [x '(some-expensive-computation)] `(let [x# ~x] [x# x# ~x ~x]))
(clojure.core/let [x__90006__auto__ (some-expensive-computation)] [x__90006__auto__ x__90006__auto__ (some-expensive-computation) (some-expensive-computation)])
(let [v []] (let [n 3] (do (conj v 2) (conj v 3))))
[3]
(let [a :foo] (prn a) (let [a a] (prn a)) (prn a))
nil
":foo\n:foo\n:foo\n"
(let [x 'bar] (let [fv (symbol "_" (str (gensym)))] `(~x ~fv)))
(bar _/G__1234571)
(let [do (fn [] 7)] (do))
nil
(let [a 1] (do 'a))
a
(quote (let [a 1] a))
(let [a 1] a)
(let [[:as n] 6] n)
6
(let [c #(String.)] (c))
""
(let [a 1] '(a))
(a)
(let [a' 1] (inc a'))
2
(loop [] (let [recur 5] recur))
5
(let [x 2 y 3])
nil