Currying is a technique used in mathematics and computer science that consists of changing a function that takes several arguments into a number of functions that each take one argument. Mathematicians Moses Schönfinkel and Gottlob Frege laid the groundwork for this technique, which is named after Haskell Brooks Curry. Currying is used in Lambda calculus. Some programming languages, such as ML and Haskell say that functions can only have one argument.