<p><pre><code> //Translated to C
#include <stdio.h>
#include <stdlib.h>
#define CurriedMultiply(m) multiply(n,m)
int multiply(int n,int m){return n*m;}
int triple(int n){return CurriedMultiply(3);}
int main(int argc,char**argv){
printf("result:%d\n",triple(strtol(argv[1],NULL,10)));
}</code></pre>
Currying is also a means for adapting a function for memoization. I blogged about this a while back:<p><a href="https://taylodl.wordpress.com/2013/11/05/functional-javascript-currying/" rel="nofollow">https://taylodl.wordpress.com/2013/11/05/functional-javascri...</a>