Clase 19/03/2014 (continuación)

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