From 1c170aac51011f7169acbc9692e48012c1835d5e Mon Sep 17 00:00:00 2001 From: barker Date: Mon, 20 Sep 2010 19:51:14 -0400 Subject: [PATCH] --- lambda_evaluator.mdwn | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 lambda_evaluator.mdwn 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*: -- 2.11.0