Currying in functional programming is taking a function that receives more than one variable and acting on it as if it were a chain of methods each with a single argument.

For example, when you do this:

let AddThis a b = a + b

You're actually creating two different methods. One that uses 'a' and one that uses 'b'. When you have a function that has more than one parameter, F# treats that function as a chain of functions, currying each function as you go along to get the result that you need.

Replies To: F# - An Introduction to Currying

Not a language I am planning on delving into any time soon but very well written tutorial! I had very heard of this concept before, fascinating how different it is to what I usually use (OOP, mainly C# and Java).