You can get soup in a can. You can get bread in a can (*). Now the long wait is over! You can finally get Lambda Calculus in a can. Project LambdaCan is an amusing exercise in absurdity. It implements a reducer (interpreter) for the Lambda Calculus, a formal system (programming language) developed by Alonzo Church in the 1930's to attack the deepest mathematical problem of the day. This was the En
ãã®ã¨ã³ããªã® 親åã¸ãããã°ãæ¸ããã - ITæ¦è¨ y ãããã°ãå§ããã¿ãããªã®ã§ãèªãã§ã¿ãã ã§ãææ°ã®ã¨ã³ããªãèªãã§ã¿ããã Y ã³ã³ããã¼ã¿ã¨ãããã®ã«ã¤ãã¦æ¸ãã¦ãã£ãã®ã§ã Y Combinatorãåãããï¼ - yuji1982ã®æ¥è¨ Y ã³ã³ããã¼ã¿ã£ã¦ä½ã£ã¦ã¨ãããããèªåã§ãããããèãã¦ã¿ãã çµå±ãªããªã®ããã£ã±ãåãããªãã£ããã§ãããèªåãèãããã¨ãã¾ã¨ãã¦ãã ã¾ãããã£ããããæ°ãæ±ãã fib ãå®ç¾©ãã var fib = function(n){ return (n <= 2) ? 1 : (arguments.callee(n-1) + arguments.callee(n-2)); }; fib(10); ããï¼ JS ããã¼ï¼åå㯠n ãã使ã£ã¦ãã¼ãï¼ ãã§ããããã§ãããããããããªãã¦ï¼ JS ãç´ æ´ããéãã¦è©±ãçµãã£ã¦ãã¾
ï¼å¨ï¼æ³ï¼ã¶æï¼å¨ã®å¥½ç©ã¨å¹´é·ããï¼å¦æã®ãå¼å½è¨é² å¨ããã å¾®ç¬ã¾ããè¦ã¤ãã¦ããã ããªã®ã«â¦â¦ï¼å¤«ï¼ ãã£ãã®æè¿ã®å¥½ç©ã¯ãã«ããããããããã¨ç´è±ãæ··ãã¦é£ã¹ããã¨ã æãå®¶ã®ããããï¼ç´è±å¥½ãã¨ããã°ã¾ã夫ã§ããã夫ã¯åµå ¥ãã®ããããã好ãã§ããã£ãã¯ã«ãããã¨ããã®ããããã好ãããããã¯ã©ã£ã¡â¦
(In the original version of this post, I tried using a javascript tool for generating MathML. It appears to not work very well; several browsers failed to render it correctly, and it doesn't work in an RSS feed. I've gone back and re-written everything in simple text format.) In computer science, especially in the field of programming languages, we tend to use one particular calculus a lot: the La
ãã®ãã¼ã¸ã¯ãCombinatory Logic Tutorialã®ç¿»è¨³ã§ãã http://homepages.nyu.edu/~cb125/Lambda/ski.html åºæ¬çã«è¶ 訳ã§ãã è¨³ã®æ£ããã¯å ¨ãä¿è¨¼ããã¾ããã 訳ã®ããããé¨åã¯å¤æ°ããã¾ãã 翻訳å ãµã¤ãã®è¨±å¯ãåã£ããã¯ãã¦ãã¾ããã ç¡èªå¯ã§ãã 訳è ã«ãã忏ãã¨ææ³ã³ã³ããã¼ã¿è«çãã¥ã¼ããªã¢ã« 訳è ã«ãã忏ãã¨ææ³ è¨³ãã¦ã¿ããã®ã®ãã¡ãã£ã¨ããã£ãããã ãã®èª¬æã§ã¯ãã¯ããã¦ã³ã³ããã¼ã¿è«çãç¥ã£ã人ãèªãã§å åã«çè§£ã§ããã¨ã¯æããªãã ã©ããããã®ææ¸ã¯ãåæã®ä¸ä½ãã£ã¬ã¯ããªã«ããLambda tutorialãèªãã å¾ã«èªãã¹ããã®ã£ã½ãããã ã ããããæµç³ã«ãã£ã¡ã¾ã§è¨³ãæ°åã¯ç¡ãã ãããã訳ã§ãããã ããèªãããã¯ãUnlambdaã®ãã¥ã¼ããªã¢ã«ãèªãã æ¹ããã£ã¨ãã³ã³ããã¼ã¿è«çãçè§£
ãJavaScriptã«ãããã³ãã¬ã¼ãã»ã¢ããããã£ãã¼ç°¡å!ãã«ã¦ï¼ ç´ã¨éçã§ã©ã ãè¨ç®ãå®è¡ã§ãããã¨ã¯å¿ è¦ã ãªããã£ã±ãã ãªãã¦å¼·èª¿ããã®ã§ãã©ã ãè¨ç®ã®å ¥éããã£ã¦ã¿ããã [追è¨]ç·´ç¿åé¡éã追å ãã¾ããã説æãèªã¿ãªããããããã¯èªãã å¾ã§æ¯éãã£ã¦ã¿ã¦ãã ãããâãJavaScriptã§å¦ã¶ã»ããã°ã©ãã®ããã®ã©ã ãè¨ç® åé¡éã[/追è¨] â»å°å·ã®ã¨ãã¯ãµã¤ããã¼ãæ¶ãã¾ãã å å®¹ï¼ JavaScriptã®é¢æ°ãªãã©ã« ã©ã ãå¼ã£ã¦ãªãã ã©ã ãè¨ç®ã®ä½ç³»ã¨é©ç¨æä½ ã©ã ãå¼ã®ä¾ãããã¤ã Î²å¤æ -- ã©ã ãè¨ç®ã®ãã¢ï¼ Î²å¤æãä½åº¦ãå®è¡ãã¦ã¿ã ä¸éã¾ã¨ããã¾ã ç¶ããããã JavaScriptã®é¢æ°ãªãã©ã« æåã«ãJavaScriptã«é¢ããç¥èã確èªãã¦ããã¾ãããããªããJavaScriptã®å¯¾è©±çå®è¡ç°å¢ã«ã¤ãã¦ã¯ããã£ã¨ããæè»½ãªå¯¾è©±çJavaScr
ä»å°ãã¸ãã¯å¶æ¥½é¨ ã©ã ãè¨ç®ï¼¡ï¼¢ï¼£ æ°å¦ã»ããã¼ï¼ï¼å¹´ï¼æå·ãã A. ã©ã ãè¨ç®ã¨ã¯ ä»ããï¼ï¼å¹´ç¨åãããªã³ã¹ãã³å¤§å¦ã®è¥æè«çå¦è Aï¼ãã£ã¼ããã颿°ã®æ°ããè¡¨è¨æ³ãææ¡ãã¾ãããã©ã ãè¨æ³ã¨å¼ã°ãããã®è¡¨è¨æ³ã§ã¯ãä¾ãã°äºä¹ãè¨ç®ãã颿°ã¯ λx.x^2 ã¨è¡¨ãã¾ãã徿¥ã®"f(x)"ã¨ããæ¸ãæ¹ã¯ãããã颿°ã表ãã®ãã颿°ã®xã«ãããå¤ã表ãã®ããææ§ãªã®ã§ãã©ã ãè¨æ³ã§ã¯ã颿°fã®xã«ãããå¤ãfxã§ç¤ºããxã«ãããå¤ãf(x)ã¨ãªã颿°fãλx.f(x)ã¨è¡¨ãã®ã§ãã "f(x)"ã¨ããè¡¨è¨æ³ã®æ¬ é¥ã¯ã髿 ¡ã®æ°å¦ã¾ã§ã§ã¯ã»ã¨ãã©è¡¨é¢åãã¾ãããã大å¦ã«å ¥ã£ã¦ããå®ç¾©åãå¤åã颿°ã®éåã«ãªããããªé«é颿°ï¼ãªãã¬ã¼ã¿ã¨ãä½ç¨ç´ ã¨ãå¼ã³ã¾ãï¼ãæ±ãã ãã¨ãããããã¾ããä½ç¨ç´ ãªã©ã¨ããã¨ã²ã©ãç¹æ®ãªãã®ã®ããã§ããã颿°f(x)ã«ãã®å°é¢æ°f'(x)ã対å¿ããã微忼ç®åD
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãç¥ãã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}