eval. , , - ( Clojure ). , " ".
1 - eval
. Webb answer . - , , Clojure, .
2 - eval
, eval. (eval '(+ 1 1)) (+ 1 1). , , #(+ 5 %) .. (partial + 5) .. .
->> - . , , S-. S- - S- cons, .
, , . , , reduce:
(defn play []
(let [eval1 (+ 1 1)
eval2 (list
(reduce
, , core.clj:
(defn freduce
"Given an initial input and a collection of functions (f1,..,fn),
This is logically equivalent to ((comp fn ... f1) input)."
[in fs]
(reduce
, , , fn:
(defn play []
(let [in (+ 1 1)
fs (list
(fn [] (freduce in fs))))
user=> ((play))
-35