# 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 ```haskell map :: (a -> b) -> [a] -> [b] ``` ## Beispiel Testfäle ```haskell 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