Auto evaluación - Definiciones

Re: Auto evaluación - Definiciones

de Alberto Pardo -
Número de respuestas: 0
Hola,

Estuviste cerca de resolver bien la expresión. Lo que pasa es que tenés mal la parentización en la expresión
filter ( (const True) (.) ( filter (>3) (.) id ) ) ) [1, 2, 3, 4].

El resultado de
foldr (.) id [filter (const True), filter (<2), filter (>3)] [1, 2, 3, 4]
es una cadena de composiciones aplicado a [1, 2, 3, 4].

Fijate que:
foldr (.) id [filter (const True), filter (<2), filter (>3)]
= filter (const True) . foldr (.) id [filter (<2), filter (>3)]
= filter (const True) .  filter (<2) . foldr (.) id [filter (>3)]
= filter (const True) .  filter (<2) . filter (>3) . foldr (.) id []
= filter (const True) .  filter (<2) . filter (>3) . id

La expresión final es entonces:
filter (const True) .  filter (<2) . filter (>3) . id $ [1,2,3,4]

O sea, la lista pasa a través de la cadena de filters.

Saludos,
Alberto.