(* (-> 5 (+ 2)) 4)
28
(macroexpand '(-> x (drop 2)))
(drop x 2)
(-> 1 (+) (-) (*) (/))
-1
(macroexpand '(-> a b c))
(c (b a))
(-> 1 (- 2) (+ 1))
0
(-> "clojure.pprint/cl-format" read-string resolve meta :ns)
nil
(macroexpand '(-> 3.0 Math/sin Math/cos))
(Math/cos (Math/sin 3.0))
(-> #(Double/parseDouble %) class supers)
#{clojure.lang.AFn clojure.lang.AFunction clojure.lang.Fn clojure.lang.IFn clojure.lang.IMeta clojure.lang.IObj java.io.Serializable java.lang.Object java.lang.Runnable java.util.Comparator java.util.concurrent.Callable}
(-> 1 (+ 1) (* 2))
4
(let [[x y z] (map inc [1 2 3])] [(-> x inc inc) (-> y inc inc) (-> z inc inc)])
[4 5 6]
(-> #'+ meta :name name keyword)
:+
(-> #'apply meta :arglists last last)
args
(-> 5 (< 10) (if "whoa"))
"whoa"
(-> 1 (+ 2) (* 3))
9
(-> 1 inc inc inc inc)
5
(-> 4 (+ 1) (* 2))
10
(-> 10 range (->> (map inc)))
(1 2 3 4 5 6 7 8 9 10)
(-> 'd (list 'a 'b 'c))
(d a b c)
((-> even? complement complement complement) 2)
false
(-> nil nil? true? false? false?)
true
(-> 1 comp inc inc inc)
4
(-> "hello" .toUpperCase (.replace \H \N))
"NELLO"
(macroexpand '(-> :a {:a :b}))
({:a :b} :a)
(-> 321 Integer/toString ((partial repeat 2)))
("321" "321")
(-> 'cat name (str "_") symbol)
cat_
(macroexpand '(-> 1 (+ 2)))
(+ 1 2)
(macroexpand '(-> (a) (b) (c)))
(c (b (a)))
(-> "snowman ☃" .getBytes (String. "UTF-16"))
"獮潷浡渠�"
(-> "foo.bar/read" read-string resolve meta :ns)
nil
(macroexpand '(-> 1 str clojure.string/trim))
(clojure.string/trim (str 1))
((-> [_] #(println "hey")) 1)
nil
"hey\n"
(macroexpand '(-> x f g))
(g (f x))
(-> 20 (- 5) (* 2))
30
(-> 5 (+ 3) (* 4))
32
(identical? '+ (-> #'+ meta :name))
false
(-> 5 (+ 2) (* 4))
28
(macroexpand-1 '(-> #(prn :hi) ()))
(nil (fn* [] (prn :hi)))
(-> 2 (#(+ 3 %)))
5
(macroexpand-1 '(-> 1 inc inc))
(inc (inc 1))
(macroexpand-1 '(-> x (foo y)))
(foo x y)
(-> 2 (- 5) (- 10))
-13
(#(-> {1 2, 3 5}))
{1 2, 3 5}
(-> [i (range 10)] (for i))
(0 1 2 3 4 5 6 7 8 9)
(macroexpand '(-> e -target -value))
(-value (-target e))
(-> {:a 0, "b" 4} (:a))
0
(-> [a (range 10)] (for a))
(0 1 2 3 4 5 6 7 8 9)
(-> 1 (#(+ 2 %)))
3
(-> "clojure.core" symbol find-ns meta :doc)
nil
(-> 1 (->> (str 3 2)))
"321"
(macroexpand-1 '(-> 123 str reverse))
(reverse (str 123))