Feu les funcions següents utilitzant funcions d’ordre superior (i altres funcions predefinides) de Haskell i sense utilitzar recursivitat.
Feu una funció flatten :: [[Int]] -> [Int] que
aplana una llista de llistes d’enters en una llista d’enters.
Feu una funció myLength :: String -> Int que
retorna la llargada d’una cadena de caràcters.
Feu una funció myReverse :: [Int] -> [Int] que
inverteix els elements d’una llista d’enters.
Feu una funció
countIn :: [[Int]] -> Int -> [Int] que, donada una
llista de llistes d’elements
i un element
ens torna la llista que indica quants cops apareix
en cada llista de
.
Feu una funció firstWord :: String -> String que,
donat un string amb blancs i caràcacters alfabètics), en retorna la
primera paraula.
Cada funció puntua 20 punts.
Input
flatten [[1,2,3],[4,5],[6],[],[3,3]] myLength "Albert" myReverse [1..10] countIn [[3,2,3],[3],[], [2,2]] 3 firstWord " Volem pa amb oli "
Output
[1,2,3,4,5,6,3,3] 6 [10,9,8,7,6,5,4,3,2,1] [2,1,0,0] "Volem"