Estrategias para definir funciones.
Solución: sacarPar.xs saca el primer elemento de xs, luego es lo mismo que head!
sacarPar ≐ head
Y como todo par es de la forma (x,y) basta que definamos segComp así.
segComp.(x,y) ≐ y
Luego, nuestra solución se escribe así:
sacarPar ≐ head
segComp.(x,y) ≐ y
existPrim.xs ≐ segComp.(sacarPar.xs)
En Haskell:
sacarPar = head
segComp (x,y) = y
existPrim xs = segComp (sacarPar xs)
¿Qué pasa si uno pone existPrim [] en Haskell?
Prelude> existPrim []
*** Exception: Prelude.head: empty list
Obtenemos un error. Podemos modificar ese mensaje de error haciendo un análisis por casos Volver