What functional-programming transformation is named after Haskell Curry?

The story behind the answer

The functional-programming transformation named after Haskell Curry is currying.

Currying converts a function that accepts several arguments into a chain of functions, each accepting one argument. A function written as f(x, y) can therefore become f(x)(y), with the first call returning another function that waits for the next input. This is especially natural in lambda calculus and languages such as Haskell and ML, where functions are conventionally treated as taking one argument.

The name honors American mathematician and logician Haskell Curry, whose work helped develop combinatory logic. However, Curry was not the original discoverer: Moses Schönfinkel had described the underlying idea earlier, and the concept can be traced even further back to Gottlob Frege. That history explains why some sources mention “Schönfinkelisation” as an alternative term.

Currying is often confused with partial application. Currying changes the shape of a multi-argument function into nested single-argument functions; partial application fixes some arguments and produces a smaller function. The two techniques are closely related and frequently used together.

Source: Wikipedia · fact-checked Sept. 2026

Add question to a list

Choose a list to keep this question in: