Groovy Functional Programming - Currying
One of the design techniques used in functional programming is to create a generic functions and derive special functions from the generic ones by fixing some of the arguments. To understand this consider the following use-case.
We want to be able to double, triple and quadruple numbers. We can write