pos :: Eq a => a -> [a] -> Int pos a [] = error "La lista no puede estar vacia" pos a xs | not(a `elem` xs) = error "El elemento no esta en la lista" pos a xs = auxPos a xs 0 auxPos :: Eq a => a -> [a] -> Int -> Int auxPos a l i | a == l !! i = i auxPos a l i | a /= l !! i = auxPos a l (i + 1)