연습문제 1.32, 1.33
function accumulate(combiner, null_value, term, a, next, b){ return a > b ? null_value : combiner(term(a), accumulate(combiner, null_value, term, next(a), next, b)); } function accumulate_(combiner, null_value, term, a, next, b){ function iter(a, result) { return a > b ? result : iter(next(a), combiner(term(a), result)); } return iter(a, null_value); } function sum_a(term, a, next, b){ function ..