Curried functions are function calls that return another function when called. Currying is a strategy used in functional programming languages to create small, single-purpose functions for flexibility during program execution. The concept was developed by Moses Schönfinkel in the 1920s and was popularized by Haskell Curry. Often, curried functions are nested inside each other to build complex behaviors from simple ones.
Additional topics related to currying include higher order functions, lambdas, anonymous functions, and function expressions.