Ejercicios de repaso Mónadas - Reader

Ejercicios de repaso Mónadas - Reader

de Eliana Rosselli Orrico -
Número de respuestas: 5

Buenas, 

No me queda claro por qué la respuesta correcta a esta pregunta es 7, intenté razonarlo pero llegué a 8.


Gracias y saludos!

En respuesta a Eliana Rosselli Orrico

Re: Ejercicios de repaso Mónadas - Reader

de Marcos Viera - InCo -

La función local sólo aplica la transformación del ambiente para la computación que se le pasa como parámetro, que en este caso es ask. En el resto se sigue pasando el ambiente original. Esa es la diferencia entre Reader y State.

En respuesta a Marcos Viera - InCo

Re: Ejercicios de repaso Mónadas - Reader

de Eliana Rosselli Orrico -

Hola, 

Gracias por la respuesta. Creo que mi duda es porque no me queda claro si hay que evaluar 

local (+1) ask

y luego usar eso como operando izquierdo del operador >>=, o si la evaluación sería

local (+1) (ask >>= \y -> ask >>= \z -> return x+y+z)

Gracias!

En respuesta a Eliana Rosselli Orrico

Re: Ejercicios de repaso Mónadas - Reader

de Marcos Viera - InCo -
Recordá que la aplicación tiene mayor precedencia que cualquier operador infijo, por lo que es la primera opción.
En respuesta a Marcos Viera - InCo

Re: Ejercicios de repaso Mónadas - Reader

de Martin Nicolas Santini Duarte -

Buenas!
Al pasarlo a do-notation, quedaria algo asi? 

pff = do x <- ask
        y <- local (+1) ask
        z <- ask
        return (x + y + z) 


Gracias!