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로 평가된다.