Haskell — Definició de funcions d’ordre superior (1)

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.

  1. myFoldl :: (a -> b -> a) -> a -> [b] -> a

  2. myFoldr :: (a -> b -> b) -> b -> [a] -> b

  3. myIterate :: (a -> a) -> a -> [a]

  4. myUntil :: (a -> Bool) -> (a -> a) -> a -> a

  5. myMap :: (a -> b) -> [a] -> [b]

  6. myFilter :: (a -> Bool) -> [a] -> [a]

  7. myAll :: (a -> Bool) -> [a] -> Bool

  8. myAny :: (a -> Bool) -> [a] -> Bool

  9. myZip :: [a] -> [b] -> [(a, b)]

  10. myZipWith :: (a -> b -> c) -> [a] -> [b] -> [c]

Puntuació

Cada funció puntua 10 punts.

Informació del problema

Autoria: Albert Rubio / Jordi Petit

Generació: 2026-02-03T17:01:18.026Z

© Jutge.org, 2006–2026.
https://jutge.org