 The most general setting for the strict notion of currying and uncurrying is in the closed monoidal categories, which underpins a vast generalization of the Curry–Howard correspondence of proofs and programs to a correspondence with many other structures, including quantum mechanics, cobordisms and string theory.It was introduced by Gottlob Frege, developed by Moses Schönfinkel,
and further developed by Haskell Curry.Uncurrying is the dual transformation to currying, and can be seen as a form of defunctionalization.