あれ??
PLUSを頑張ってたんだけど,なぜか
MULT := λm n f. m (n f)
になっちゃいました・・・
(function(m){
return function(n){
return function(f){
return function(x){
return m(n(f))(x);
}
}
}
})なぜだか,掛け算になってしまいました・・・
(function(m){
return function(n){
return function(f){
return function(x){
return m(n(f))(x);
}
}
}
})
(function(f){ // m = 2
return function(x){
return f(f(x));
}
})
(function(f){ // n = 3
return function(x){
return f(f(f(x)));
}
})
(function(x){ // fはxを受けてx+1を返す関数
return x+1;
})
(3) // xとして3を与えるこれで3+2*3=9が返ってくるのです・・・
なんか嬉しいような悲しいような・・・