-- Funktion, die eine Zahl verdoppelt (pure)
double :: Int -> Int
double x = x * 2

-- Funktion, die die Verdopplung auf 
-- eine Liste von Zahlen anwendet
-- (verwendete höhere Funktion 'map')
doubleList :: [Int] -> [Int]
doubleList xs = map double xs

-- Hauptprogramm: Beispielaufruf
main :: IO ()
main = do
    let numbers = [1, 2, 3, 4, 5]

    let doubledNumbers = doubleList numbers
    putStrLn ("Original: " ++ show numbers)
    putStrLn ("Verdoppelt: " ++ show doubledNumbers)
