CS/SICP in JS

연습문제 2.20

띵킹 2023. 2. 26. 16:39
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

'CS > SICP in JS' 카테고리의 다른 글

연습문제 2.23  (0) 2023.02.27
연습문제 2.21  (0) 2023.02.27
연습문제 2.17  (0) 2023.02.26
연습문제 2.2  (0) 2023.02.21
연습문제 2.1  (0) 2023.02.21