Anonymous
public text v1 · immutablepos :: 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)