Sto tentando di ritardare i vari calcoli. Ho funzioni del seguente modulo,Argomenti funzione più tipi
(defn a-fn [a b]
(let [a (if (fn? a)
a
#(identity a))
b (if (fn? b)
b
#(identity b))]
(+ (a) (b))))
questo mi permette di passare un-fn, un valore o una funzione che restituisce il valore,
(a-fn 1 2)
(defn x [] 1)
(defn y [] 2)
(a-fn x y)
(a-fn x 2)
quello che faccio è costruire una lista di funzioni (come quello sopra) per operare su alcuni dati, fns può usare altri fns per recuperare i loro argomenti o in alcuni casi le cose non cambiano e vengono assegnati valori come argomenti. Mi stavo chiedendo c'è un modo migliore per ottenere questo tipo di comportamento?
Nizza. Hai dimenticato il ritardo/la forza. –