Feu les funcions següents utilitzant funcions d’ordre superior (i altres funcions predefinides) de Haskell i sense utilitzar recursivitat.
Feu una funció eql :: [Int] -> [Int] -> Bool
que indiqui si dues llistes d’enters són iguals.
Feu una funció prod :: [Int] -> Int que calculi
el producte dels elements d’una llista d’enters.
Feu una funció prodOfEvens :: [Int] -> Int que
multiplica tots el nombres parells d’una llista d’enters.
Feu una funció powersOf2 :: [Int] que generi la
llista de totes les potències de 2.
Feu una funció
scalarProduct :: [Float] -> [Float] -> Float que
calculi el producte escalar de dues llistes de reals de la mateixa
mida.
Cada funció puntua 20 punts.
Input
eql [1,2,3] [1,2,3] eql [1,2,3] [3,2,1] eql [1,2,3] [1,2,3,4] prod [2,10,5] prodOfEvens [2,10,5] take 5 powersOf2 scalarProduct [2.0,1.0,5.0] [3.0,2.0,2.0]
Output
True False False 100 20 [1,2,4,8,16] 18.0