In functional programming, the process of fixing a number of arguments of a function, producing another function of smaller arity