Estimados, tengo una duda en esta pregunta:
Dada la siguiente definición:
a = 1 : foldr (\x xs -> 1 + x : xs) [] a
¿Cuál es el resultado de evaluar take 4 a?No entiendo por qué la solución es [1,2,3,4], ya que al hacer foldr el pliegue es por el último elemento de la lista, el cual se desconoce.
Entonces, para poder saber cuales son los primeros 4 elementos de la lista, primero necesito ir aplicando la función lambda entre el último elemento de la lista y el acumulador.
Agradezco si alguien me puede indicar si estoy pensando el problema de forma errónea.