Mayúscula inicial
Definir la función
mayusculaInicial :: String -> String
tal que (mayusculaInicial xs) es la palabra xs con la letra inicial en mayúscula y las restantes en minúsculas. Por ejemplo,
mayusculaInicial "sEviLLa" == "Sevilla"
Soluciones
import Data.Char -- 1ª definición (por comprensión): mayusculaInicial :: String -> String mayusculaInicial [] = [] mayusculaInicial (x:xs) = toUpper x : [toLower x | x <- xs] -- 2ª definición (por recursión): mayusculaInicialRec :: String -> String mayusculaInicialRec [] = [] mayusculaInicialRec (x:xs) = toUpper x : aux xs where aux (x:xs) = toLower x : aux xs aux [] = []