CSC/ECE 517 Fall 2011/ch1 2a av
Currying
Currying is a programming technique that transforms a function with multiple arguments into a series of single argument functions. It is the ability to convert a single function with n arguments into n functions with single argument each. Currying is a basically a mathematical concept applied in several areas of computer science.
Discovery and Naming
The currying technique was discovered by Moses Schönfinkel[1]. Is was rediscovered by mathematician Haskell Curry[2].
Christopher Strachey[3] coined the term "currying" in 1967, after Haskell Curry[4]. However, it has been proposed to call this technique "Schönfinkelisation", in reference to its original discoverer Moses Schönfinkel[5].
Definition
"Given a function f of type , currying it makes a function . That is, takes an argument of type and returns a function of type"
Currying vs Partial Function Application
Currying is often mistaken to Partial Function Application. The difference between the two techniques