| 今回は、λ計算について少しやります。Wikipedia |
| (λx.x+2)3について |
| コード1 |
function Test1(){
var r=(function(x){return x+2})(3);
alert(r);
} |
| (λf.f3)(λx.x+2)について |
function Test2(){
var r=(function(f){return f(3)})(function(x){return x+2});
alert(r);
} |
| λxy.x-yとλx.(λy.x-y)について |
function Test3(){
var r1=function(x,y){return x-y};
var r2=function(x){return (function(y){return x-y})};
alert(r1(7,2));
alert(r2(7)(2));
} |
| λxy.y xと比較してλy.y(λx.y)とλz.z(λx.y)について |
var y=4;
function Test4(){
var t1=function(y){return y(function(x){return y})};
alert(t1(function(p){return p})(3));
var t2=function(z){return z(function(x){return y})};
alert(t2(function(p){return p})(3));
} |
| JavaScriptにおいてTest4の結果が出る、というのは少し驚くべきことじゃないかと思います。 JavaScriptの新たな一面を垣間見たような気になるわけでもないですが。 |
| top 戻る |