Does Clojure specifica l'ordine di valutazione degli argomenti di funzione?Ordine di valutazione degli argomenti di funzione in Clojure
I.e. Quando chiamo una funzione in Clojure:
(my-func (fun1 arg1) (fun2 arg2) (fun3 arg3))
è l'ordine di valutazione di fun1
, fun2
, e fun3
definiti?
Capisco che Java definisca l'ordine di valutazione degli argomenti di funzione come da sinistra a destra, ma posso immaginare un linguaggio funzionale come Clojure che è più rilassato.
E 'interessante da questo link per vedere che '((fun1 arg) (fun2 arg) (fun3 arg))' causerà tutte le funzioni 'funN' di essere chiamato, prima del risultato di' (fun1 arg) 'essere castato su un tipo di funzione (che potrebbe non essere). – pauldoo