Use Currying for Function Chaining

Learn how we can use currying to chain functions to formulate multi-argument functions and how it enables partial application.

Function with multiple arguments

One significant insight from lambda calculus is currying—we can formulate a function accepting multiple arguments as a nested chain of single-valued functions. Most functional programming languages, including OCaml, incorporate this technique into the language.

To illustrate, let’s look at OCaml’s built-in binary operator, +, to add two integers. Internally, OCaml implements + as a normal function. Although we normally use + in the infix notation like 1 + 2, OCaml allows us to use + in the prefix notation by placing it in parentheses (+). This means we can write (+) 1 2.

Get hands-on with 1200+ tech skills courses.