Extensión de un fichero
Enunciado
| 1 2 3 4 5 6 7 8 9 10 11 | -- La extensión de un fichero es la palabra a continuación del último -- punto en el nombre del fichero. Por ejemplo, la extensión de -- "documento.txt" es "txt"  --  -- Definir la función --    extension :: String -> String -- tal que (extension cs) es la extensión del fichero cs. Por ejemplo, --    extension "ejercicio.hs"       ==  "hs" --    extension "documento.txt"      ==  "txt" --    extension "documento.txt.pdf"  ==  "pdf" --    extension "resumen"            ==  "" | 
Soluciones
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | -- 1ª definición (por recursión): extension1 :: String -> String extension1 cs | elem '.' cs = reverse (aux (reverse cs))               | otherwise   = ""     where aux []       = []           aux ('.':cs) = []           aux (c:cs)   = c : aux cs -- 2ª definición (con takeWhile): extension2 :: String -> String extension2 cs     | notElem '.' cs = ""     | otherwise      = reverse (takeWhile (/= '.') (reverse cs)) |