λ-wiki
::
lambda-function
+
| 1 |
help
|
pages
|
skin
|
login
|
code
www!k! v.20120610
! CE SITE NECESSITE JAVASCRIPT !
λ-wiki :: éditeur
{h4 lambda-calcul avec javascript} {div {@ id:lambda; white-space:pre; border:1px solid; padding:5px; font-size:0.8em;}°°// // le code est situé dans un div id="lambda" // 1) définition des fonctions élémentaires : function zero(f){ return function(x){ return x} } function succ(n){ return function(f){ return function(x){ return f(n(f)(x))} } } function add(m){ return function(n){ return function(f){ return function(x){ return m(f)(n(f)(x))} } } } function mul(m){ return function(n){ return function(f){ return m(n(f))} } } function pow(m){ return function(n){ return n(m)} } function end (n) { return 1+n; } // 2) exemple d'appel : var one = succ(zero); var two = succ(one); var four = add(two)(two); var eight = mul(two)(four); var sixteen = pow(two)(four); function display () { return (mul // start mul (succ (succ (succ (zero) // start succ ) ) ) // end succ - > 3 (add (succ (succ (zero) // start add ) ) // end succ - > 2 (succ (zero) ) // end succ - > 1 ) // end add - > 2+1=3 ) // end mul - > (end)(0); // go ! } // to be compared with S-expressions !! $('result').innerHTML = display(); //°°} {p {submit {@ code:lambda; value:GO;}}} {pre {@ id:result;} ... }