function plus_curried(x){
return y => x + y;
}
function brooks(f, list){
return is_null(list)
? f
: brooks(f(head(list)), tail(list));
}
function brooks_curried(list){
return brooks(head(list), tail(list));
}
brooks_curried(list(brooks_curried,
list(plus_curried, 3, 4)));
brooks_curried(list(brooks_curried,
list(brooks_curried,
list(plus_curried, 3, 4))));
두 문장 모두 7로 평가된다.
728x90