Pregunta 2 Auto evaluación - Definiciones

Pregunta 2 Auto evaluación - Definiciones

de Rodrigo Alain De La Vega Rodriguez -
Número de respuestas: 1

Buenas! Al tratar de responder esta pregunta (Adjunto imagen por las dudas) me paso lo siguiente:

La letra pedía el resultado de foo 3 [1,2,4,5,3,3]
Para resolverlo fui escribiendo el paso a paso del foldl con el fun de la siguiente forma:

1) fun (Nothing,0) 1 => Resultado: (Nothing,1)
2) fun (Nothing,1) 2 => Resultado: (Nothing,2)
3) fun (Nothing,2) 4 => Resultado: (Nothing,3)
4) fun (Nothing,3) 5 => Resultado: (Nothing,4)
5) fun (Nothing,4) 3 => Resultado: (Just 4,5)
6) fun (Just 4, 5) 3 => Resultado: (Just 4, 5)

Luego se aplica el fst y llego a la conclusión que el resultado es (Just 4)

La pregunta es:
Cuando estoy en el paso 5  y voy a "ejecutar" el 6 me confunde la definición de fun ya que el x que recibe el Just me parecía que es el x que se le pasa foo. No debería ser: fun (Just x', i) _ = bla bla....? O sea un x' en vez de x?

Cuando el foldl en el paso 5 hace que el paso 6 quede fun (Just 4,5) 3 es ahí donde me confunde la x que se le pasa a foo originalmente.

Sino se entiende trato de explicarme mejor. 
Gracias! 

e2

En respuesta a Rodrigo Alain De La Vega Rodriguez

Re: Pregunta 2 Auto evaluación - Definiciones

de Marcos Viera - InCo -
Es equivalente en ese caso usar x u otro nombre de variable, por ejemplo el que elegiste: x'.
Puede confundir un poco pero podés pensarlo como que la x que recibe foo es global a fun, mientras que la del pattern es local, por lo que "gana" la variable local.