I\'m very new to Haskell and FP in general. I\'ve read many of the writings that describe what currying is, but I haven\'t found an explanation to how it actually works.
If you come from C-like languages, their syntax might help you to understand it. For example in PHP the add function could be implemented as such:
function add($a) { return function($b) use($a) { return $a + $b; }; }