Aquest problema explora la definició de funcions d’ordre superior sobre llistes. Implementeu les funcions següents mimetitzant les funcions originals de Haskell però sense usar la funció original (és a dir, no podeu usar foldl per implementar myFoldl però si per implementar myAll). A més, només podeu utilitzar recursivitat per definir myFoldl, myFoldr, myIterate, myUntil i myZip.
Puntuació
Cada funció puntua 10 punts.
Input
myFoldl (+) 1 [1..5] myFoldr (+) 1 [1..5] take 10 $ myIterate (*2) 1 myUntil (>100) (*2) 1 myMap ("la "++) ["joana", "mireia"] myFilter odd [1..10] myAll odd [1,3,5,3,1] myAny odd [2,4,6,8,10] myZip [1..4] [1..3] myZipWith (+) [1..4] [1..3]
Output
16 16 [1,2,4,8,16,32,64,128,256,512] 128 ["la joana","la mireia"] [1,3,5,7,9] True False [(1,1),(2,2),(3,3)] [2,4,6]