C'è qualcosa che non capisco sulle funzioni anonime che usano la notazione breve # (..)
I seguenti lavori:
REPL> ((fn [s] s) "Eh")
"Eh"
Ma questo non:
REPL> (#(%) "Eh")
Funziona:
REPL> (#(str %) "Eh")
"Eh"
Quello che non capisco è perché (# (%) "Eh") non funziona e allo stesso tempo non ho bisogno di usare str in ((fn [s] s) "Eh")
Sono entrambe funzioni anonime ed entrambe prendono, qui, un parametro. Perché la notazione abbreviata necessita di una funzione mentre l'altra notazione no?