((-> [n] #(if (zero? n) 1 (* n (fact (- n 1)))) (->> (-> fact))) 10)
3628800(-> {} (assoc :a 10) (assoc :a 1))
{:a 1}
(-> 2 (as-> myval (+ 3 myval)))
5(-> {:name "foo"} :name ((comp symbol name)))
foo(-> {} (assoc :a 3) (assoc :b 1))
{:a 3, :b 1}
(macroexpand '(-> [foo] ((fn (print foo)))))
((fn (print foo)) [foo])
(-> first var meta ((juxt :line :file)))
[nil nil]
(macroexpand '(-> 2 #(+ 3)))
(fn* 2 [] (+ 3))
(-> (identity 1) (+ 1) (* 2))
4(-> [-128] byte-array (String. "ISO-8859-1") .getBytes seq)
(-62 -128)
(-> "two words" (clojure.string/split #" ") last)
"words"(defmacro here [] `'~(-> &form meta :line))
#'user/here
(-> 3 (= 4) (if "hi" "hello"))
"hello"(-> "A" first int inc char str)
"B"(-> 5 (doto ((constantly (println "OK")))) inc)
6"OK\n"(clojure.walk/macroexpand-all '(-> 6 inc (/ 2)))
(/ (inc 6) 2)
(-> [] (conj 2) atom (->> (def foo)))
#'user/foo
(-> 8 inc dec (+ 10) str)
"18"(-> 41 identity identity identity identity inc)
42(-> 1 (#(+ % 2 3)))
6(clojure.walk/macroexpand-all '(-> x f y z))
(z (y (f x)))
(-> (var reduce) meta :ns ns-name name)
"clojure.core"(-> 2 ((fn [x] (+ 1 x))))
3(-> #'+ :arglists first :args first :doc)
nil(-> 1 (+ 2 3 4 5))
15(macroexpand '(-> "foo" (fn [x] x)))
(fn "foo" [x] x)
(macroexpand-1 '(-> x (a b c)))
(a x b c)
(clojure.walk/macroexpand-all '(-> a (->> b c)))
(c (b a))
(defn mkkey [] (keyword (-> *ns* ns-name name)))
#'user/mkkey
(-> (.toUpperCase "foobar") (subs 3 6) .intern)
"BAR"(-> * #(%) (->> (def a)))
#'user/a
(clojure.walk/macroexpand-all '(-> x y z w))
(w (z (y x)))
(-> 1 inc inc inc inc inc)
6(macroexpand '(-> x ((f a b))))
((f a b) x)
(-> {} (assoc :foo 5) (assoc :bar "bar"))
{:bar "bar", :foo 5}
(macroexpand '(-> 1 (2 3 4)))
(2 1 3 4)
(reduce #(-> %2) '(1 2))
2(-> [1 2 3] (->> (map inc)))
(2 3 4)
(-> [:a :b :c] second name clojure.string/upper-case)
"B"(/ 100 (-> 0 inc) 4 5)
5(-> (iterate list ()) (nth 2000) flatten count)
0(macroexpand-1 '(-> 1 inc inc inc))
(inc (inc (inc 1)))
(macroexpand-1 '(-> 1 2 3 4))
(4 (3 (2 1)))
(-> '(1 2 3) reverse first)
3(meta (-> [2 3] (with-meta {:foo :bar})))
{:foo :bar}
(macroexpand '(-> 123 (#(println %))))
((fn* [%1] (println %1)) 123)
(clojure.walk/macroexpand-all '(-> a b c d))
(d (c (b a)))
(-> (subs (.toUpperCase "foobar") 3 6) .intern)
"BAR"(-> 3 (= 3) (if "hi" "hello"))
"hi"(-> 2 ((fn [x] (+ x 1))))
3

