Currying

Currying ist das Konzept, dass jede Funktion in Haskell formal nur ein Argument entgegennimmt und eine neue Funktion zurückgibt, die das nächste Argument erwartet.
Eine Funktion mit der Signatur add :: Int -> Int -> Int ist eigentlich als add :: Int -> (Int -> Int) zu lesen: Sie nimmt ein Int und gibt eine Funktion vom Typ Int -> Int zurück.