Más por curiosidad que cualquier otra cosa (pero con la expectativa de que ocasionalmente podría ser un truco útil para ajustar el rendimiento), ¿es posible usar macros Clojure para "alinear" una función existente?Alinear una función con macros Clojure
es decir, me gustaría ser capaz de hacer algo como:
(defn my-function [a b] (+ a b))
(defn add-3-numbers [a b c]
(inline (my-function
a
(inline (my-function
b
c)))))
Y tienen que producir (en tiempo de compilación) exactamente la misma función que si hubiera inline las adiciones a mí mismo, tales como:
(defn add-3-numbers [a b c]
(+ a (+ b c)))
¿Observó la función 'apply'? http://clojuredocs.org/clojure_core/clojure.core/apply – edbond
aplicar trabajos dinámicamente en el tiempo de ejecución, estoy buscando algo que realice la creación en tiempo de compilación .... – mikera
'(cadena de lectura (clojure.repl) fuente-fn \ 'mi-función))' parece un buen punto de partida! – vemv