X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?a=blobdiff_plain;f=lambda_evaluator.mdwn;h=c0697abd148f771170b18087c9af813f601cb8df;hb=efc414adb5e2372295701927bc1115afedf44ce7;hp=d46fc78577d3884c031e3f8446185283ddb3568a;hpb=eb2a14f6c7111e6c308b72dd0e8567e4296fcfe0;p=lambda.git diff --git a/lambda_evaluator.mdwn b/lambda_evaluator.mdwn index d46fc785..c0697abd 100644 --- a/lambda_evaluator.mdwn +++ b/lambda_evaluator.mdwn @@ -38,6 +38,7 @@ let and = \l r. l r false in ) +do eta-reductions too @@ -78,7 +79,7 @@ Object.prototype.error = function (message, t) { var parse = make_parse(); function go(source) { - var string, tree, expr; + var string, tree, expr, eta; try { tree = parse(source); // string = JSON.stringify(tree, ['key', 'name', 'message', 'value', 'arity', 'first', 'second', 'third', 'fourth'], 4); @@ -86,7 +87,8 @@ Object.prototype.error = function (message, t) { // string = JSON.stringify(expr, ['key', 'name', 'message', 'value', 'arity', 'first', 'second', 'tag', 'variable', 'left', 'right', 'bound', 'body' ], 4); // string = expr.to_string() + "\n\n~~>\n\n"; string = ''; - string = string + reduce(expr, false, false).to_string(); + eta = document.getElementById('ETA').value === "on"; + string = "("+eta+")"+string + reduce(expr, eta, false).to_string(); } catch (e) { string = JSON.stringify(e, ['name', 'message', 'from', 'to', 'key', 'value', 'arity', 'first', 'second', 'third', 'fourth'], 4);