Programación con estructuras infinitas
unos es una lista infinita de unos.
unos :: [Int]
unos = 1:unos
Evaluación:
unos
= 1 : unos [por def. unos]
= 1 : (1 : unos) [por def. unos]
= 1 : (1 : (1 : unos)) [por def. unos]
= ...
Evaluación en Haskell:
*Mani>
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,…
Evaluación con estructuras infinitas
Evaluación impaciente:
head unos = head (1 : unos) [por def. unos]
= head (1 : (1 : unos)) [por def. unos]
= head (1 : (1 : (1 : unos))) [por def. unos]
= ...
Evaluación perezosa:
head unos
= head (1 : unos) [por def. unos]
= 1 [por def. head]
Evaluación en Haskell:
*Mani>
1
Autor: Jose Silva
Fecha: 24/02/2016
Bibliografia: https://www.cs.us.es/~jalonso/publicaciones/2013-Temas_de_PF_con_Haskell.pdf
Autor: Jose Silva
Fecha: 24/02/2016
Bibliografia: https://www.cs.us.es/~jalonso/publicaciones/2013-Temas_de_PF_con_Haskell.pdf
No hay comentarios.:
Publicar un comentario