This commit is contained in:
Adam Jeniski 2023-12-18 22:00:18 -05:00
parent fcdf3c6c9d
commit 131cfb08d1

View File

@ -33,7 +33,7 @@
[& ls] (let [r# (reverse ls)] [& ls] (let [r# (reverse ls)]
`(comp ~@r#))) `(comp ~@r#)))
(defmacro static-fn (defmacro s-fn
"wraps java static methods in a lambda so they can be passed as function objects" "wraps java static methods in a lambda so they can be passed as function objects"
[f] `(fn [v#] (~f v#))) [f] `(fn [v#] (~f v#)))
@ -90,18 +90,14 @@
v is a vector of values of length N v is a vector of values of length N
this function returns a vector where each value is the result of applying this function returns a vector where each value is the result of applying
an f from fs to the corresponding v from vs" an f from fs to the corresponding value from v"
[& args] [& args]
(->> (zipmap (drop-last args) (->> (zipmap (drop-last args)
(last args)) (last args))
(mapv #((first %) (second %))))) (mapv #((first %) (second %)))))
(def p partial)
(def a apply)
(comment (comment
(map (static-fn Long/parseLong) ["123" "456"]) (map (s-fn Long/parseLong) ["123" "456"])
input-cache input-cache
(apply-each #(* % 2) #(+ % 5) 5 10) (apply-each #(* % 2) #(+ % 5) 5 10)