From: barker Date: Mon, 20 Sep 2010 23:51:14 +0000 (-0400) Subject: (no commit message) X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=commitdiff_plain;h=1c170aac51011f7169acbc9692e48012c1835d5e;hp=114aa68bf26aa9438660940f0b6f20796c9ac1d0 --- diff --git a/lambda_evaluator.mdwn b/lambda_evaluator.mdwn new file mode 100644 index 00000000..a6c22b95 --- /dev/null +++ b/lambda_evaluator.mdwn @@ -0,0 +1,17 @@ +Lambda Evaluator +---------------- + +There is now a [lambda evaluator](lambda-let.html) available. +It will allow you to write lambda terms and evaluate them, with full ability to inspect the results. +(This won't work in Racket, because Racket doesn't even try to represent the internal structure of a function in a human-readable way.) + +*Lambda terms*: lambda terms are written with a backslash, thus: `((\x (\y x)) z)`. +If you click "Reduce", the system will produce a lambda term that is guaranteed to be reduction equivalent (`<~~>`) with the original term. + +*Let*: in order to make building a more elaborate system easier, it is possible to define values using `let`. +In this toy system, `let`s should only be used at the beginning of a file. If we have, for intance, + + let true = (\x (\y x)) in + let false = (\x (\y y)) in + +*Comments*: