Kurz erklärt
Currying zerlegt eine Funktion mit mehreren Parametern in eine Kette von Funktionen mit je einem Parameter: f(a, b, c) wird zu f(a)(b)(c).
Genauer
Der Name erinnert an den Logiker Haskell Curry. Die Technik erlaubt Teilanwendung (partial application): Man gibt nur einen Teil der Argumente an und erhält eine neue, spezialisierte Funktion. In Haskell, OCaml und F# sind alle Funktionen automatisch curryt; in anderen Sprachen baut man es mit Closures nach.