Tengo un problema con una función que solo debe devolver el final de una lista. Las funciones son myTail y deberían dar un resultado utilizable, incluso si la entrada es una lista vacía.Función de cola Haskell para listas vacías
Quiero entender los 3 maneras: la coincidencia de patrones, la ecuación vigilado y expresiones condicionales
funciona esto:
> myTail_pat :: [a] -> [a]
> myTail_pat (x:xs) = xs
> myTail_pat [] = []
que esto:
> myTail_guard (x:xs) | null xs = []
> | otherwise = xs
me da el error: Programa error: error de coincidencia de patrón: myTail_guard [] ¿Cómo puedo declarar la función sin patrones?
Gracias.
pueden ayudar: http://cs.anu.edu.au/Student/comp1100/haskell/tourofsyntax.html# Guardias – Artelius
puedes hacer 'myTail = drop 1' – newacct
La versión de coincidencia de patrones es más parecida a haskell de todos modos. – Rayne