Partial function application passes a function fewer arguments than its arity, evaluates the supplied arguments, and returns a function that accepts the rest. In Ruby, curry handles this behavior for Proc objects and methods. section 16.3.5
Specializing a reusable function
Define one generic function for finding multiples, then curry it and specialize the first argument: find_multiples_of.(3) and find_multiples_of.(5) produce functions for multiples of 3 and 5. Applying those functions to an array returns the matching elements.
Partial application returns one function after applying any supplied arguments. Currying instead describes a series of one-argument functions; Ruby's curry supports both grouped partial application and chained calls. section 16.3.5









