PerchéPerché entrambe le mappe (^ 2) xs e map (2 ^) xs funzionano come previsto in Haskell?
map (^2) [1..10]
lavoro e anche
map (2^) [1..10]
lavoro?
Mi aspetterei che funzioni solo con uno di essi, non con entrambi.
ho pensato mappa sarebbe iterare su tutti gli elementi di [1..10]
e poi fare
[1^2, 2^2, 3^2, ...]
per map (^2) [1..10]
. Quindi mi aspetto che quando viene dato map (2^) [1..10]
, potrebbe produrre un errore di sintassi o qualcosa del genere, perché avrebbe bisogno che i numeri fossero dopo lo ^
, non prima.
Perché ti aspetti che funzioni solo per uno di loro? – sepp2k
Devo dire che non ho neanche capito la domanda, fino a quando Luqui non ha risposto. Se leggi semplicemente [Haskell Report] (http://www.haskell.org/onlinereport/haskell2010/) è ovvio cosa significano '(^ 2)' e '(2 ^)'. (Poi di nuovo, ho letto l'intera specifica del linguaggio prima di usare qualsiasi nuovo linguaggio di programmazione, mi è stato detto che è un'abitudine strana ...) – ephemient
Questa è un'abitudine stravagante ma impressionante, quindi continua così. – Davorak