Dustin Campbell has just posted an article title ”The Art of Currying“ that has taken me right back to my Haskell/functioning programming days in first year University. Currying is when you take a function with multiple arguments and transform it into a function that takes a single argument and returns another function for any additional arguments.
To steal Dustin’s example,
add(5, 10) becomes
add(5)(10). The benefit of this is that you can define functions in terms of other functions (using a related technique called “partial application” – I start to get lost here as my memory starts to fail me).
Dustin’s article gives a great overview with code examples to explain the concept.