Soy nuevo en clojure, y he visto funciones anónimas escritas como:¿Hay alguna diferencia entre la sintaxis fn y # para funciones anónimas en Clojure?
(fn [x] (* x x))
y también les gusta:
#(* % %)
Obviamente, el segundo es más concisa. ¿Hay alguna diferencia relevante? ¿Pueden representarse todas las funciones anónimas en cualquiera de los estilos? ¿Es uno más idiomático?
En relación con esta pregunta, no he podido determinar cómo convertir (fn [x] [x x])
a la última sintaxis. Apreciaría un puntero a la documentación que aclara esta situación.
#() no tiene un do implícito. (fn [] ...) lo hace. – Bill
Para profundizar en el comentario de @Bill: http://stackoverflow.com/questions/12534287/why-does-this-anonymous-function-starting-with-println-result-in-a-nullpointerex – noahlz