[Práctico 5] [Ejercicio 3]

[Práctico 5] [Ejercicio 3]

de Santiago Correa Perini -
Número de respuestas: 2

Buenas,

Me queda la duda si esta bien escrito las reducciones en un paso al procesar foldr. Se acumulan en e no? O sea:
==> head (foldr insert [] [3, 1, 2])
==> head (foldr insert [2] [3, 1])
==> head (foldr insert 1:2:[] [3])
esta bien?

Y después, en un paso más de reducción ya no queda la expresión de foldr no? O sea se llega a f x1 (f x2 ( f x3 e)) y se aplicaría head?

En respuesta a Santiago Correa Perini

Re: [Práctico 5] [Ejercicio 3]

de Marcos Viera - InCo -

La función que acumula en un argumento es foldl, en el caso de foldr tendríamos:


head (foldr insert [] [3,1,2])
= head (insert 3 (foldr insert [] [1,2]))
= head (insert 3 (insert 1 (foldr insert [] [2])))
= head (insert 3 (insert 1 (foldr insert [] [2])))
= ...