¿Por qué¿Por qué tanto el mapa (^ 2) xs como el mapa (2 ^) xs funcionan como se esperaba en Haskell?
map (^2) [1..10]
trabajo y también
map (2^) [1..10]
trabajo?
Espero que solo funcione con uno de ellos, no para ambos.
pensé mapa sería iterar sobre todos los elementos de [1..10]
y luego hacer
[1^2, 2^2, 3^2, ...]
para map (^2) [1..10]
. Entonces esperaría que cuando se da map (2^) [1..10]
, arrojaría un error sintax o algo así, porque necesitaría los números después del ^
, no antes.
¿Por qué esperas que solo funcione para uno de ellos? – sepp2k
Tengo que decir que tampoco entendí la pregunta, hasta que luqui respondió. Si acabas de leer el [Informe Haskell] (http://www.haskell.org/onlinereport/haskell2010/), es obvio lo que significa '(^ 2)' y '(2 ^)'. (Entonces, de nuevo, leí toda la especificación del lenguaje antes de usar cualquier lenguaje de programación nuevo, me han dicho que es un hábito extraño ...) – ephemient
Ese es un hábito extraño pero impresionante ephemient así que sigan así. – Davorak