haskell-workshop/exercises/block2/1-map/README.md

864 B

Aufgabe 1 - Rekursive Implementierung von map

Ziel der Aufgabe

Implementiere die Funktion map rekursiv. Die Funktion nimmt eine Funktion f und eine Liste xs und gibt eine neue Liste zurück, in der f auf jedes Element von xs angewendet wurde.

Signatur

map :: (a -> b) -> [a] -> [b]

Beispiel Testfäle

map (*2) [1, 2, 3] -- [2, 4, 6]
map show [1, 2, 3] -- ["1", "2", "3"]
map (const "a") [1, 2, 3] -- ["a", "a", "a"]
map (+1) [] -- []

Anforderungen

  • Nutze Rekursion zur Implementierung
  • Nutze kein map aus der Standardbibliothek
  • Nutze Pattern Matching, um Basis- und Rekursionsfall zu unterscheiden

Hinweise

  • Die leere Liste [] soll als Basisfall betrachtet werden
  • Die Funktion f soll auf das erste Element der Liste angewendet und dann mit dem Rest der Liste rekursiv weitergeführt werden