(no commit message)
[lambda.git] / code / lambda_evaluator.mdwn
index d39086f..2231951 100644 (file)
@@ -1,7 +1,7 @@
 This lambda evaluator will allow you to write lambda terms and evaluate (that is, normalize) them, and inspect the results.
 This lambda evaluator will allow you to write lambda terms and evaluate (that is, normalize) them, and 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.)  
+(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)`.  
+*Lambda terms*: lambda terms are written with a backslash, thus: `((\x (\y x)) z)`.
 
 If you click "Normalize", the system will try to produce a normal-form lambda expression that your original term reduces to (~~>). So `((\x (\y x)) z)` reduces to `(\y z)`.
 
 
 If you click "Normalize", the system will try to produce a normal-form lambda expression that your original term reduces to (~~>). So `((\x (\y x)) z)` reduces to `(\y z)`.
 
@@ -109,12 +109,12 @@ Under the hood
 ---------------
 
 The interpreter is written in JavaScript and runs inside your browser.
 ---------------
 
 The interpreter is written in JavaScript and runs inside your browser.
-So if you decide to reduce a term that does not terminate (such as `((\x (x x)) (\x (x x)))`), it will be your 
+So if you decide to reduce a term that does not terminate (such as `((\x (x x)) (\x (x x)))`), it will be your
 browser that stops responding, not the wiki server.
 
 The main code is [here](http://lambda.jimpryor.net/code/lambda.js). Suggestions for improvements welcome.
 
 browser that stops responding, not the wiki server.
 
 The main code is [here](http://lambda.jimpryor.net/code/lambda.js). Suggestions for improvements welcome.
 
-The code is based on: 
+The code is based on:
 
 *      Chris Barker's JavaScript lambda calculator
 *      [Oleg Kiselyov's Haskell lambda calculator](http://okmij.org/ftp/Computation/lambda-calc.html#lambda-calculator-haskell).
 
 *      Chris Barker's JavaScript lambda calculator
 *      [Oleg Kiselyov's Haskell lambda calculator](http://okmij.org/ftp/Computation/lambda-calc.html#lambda-calculator-haskell).
@@ -134,7 +134,7 @@ Other Lambda Evaluators/Calculutors
 
 *      [Peter Sestoft's Lambda Calculus Reducer](http://www.itu.dk/people/sestoft/lamreduce/index.html): Very nice! Allows you to select different evaluation strategies, and shows stepwise reductions.
 *      [Chris Barker's Lambda Tutorial](http://homepages.nyu.edu/~cb125/Lambda)
 
 *      [Peter Sestoft's Lambda Calculus Reducer](http://www.itu.dk/people/sestoft/lamreduce/index.html): Very nice! Allows you to select different evaluation strategies, and shows stepwise reductions.
 *      [Chris Barker's Lambda Tutorial](http://homepages.nyu.edu/~cb125/Lambda)
-*      [Penn Lambda Calculator](http://www.ling.upenn.edu/lambda/): Pedagogical software developed by Lucas Champollion, Josh Tauberer and Maribel Romero.  Linguistically oriented. Requires installing Java (Mac users will probably already have it installed).
+*      The UPenn [Lambda Calculator](http://dylanbumford.com/LambdaCalculator/): Pedagogical software developed by Lucas Champollion and others. Linguistically oriented, uses types. Requires Java (many users will probably already have Java installed).
 *      [Mike Thyer's Lambda Animator](http://thyer.name/lambda-animator/): Graphical tool for experimenting with different reduction strategies. Also requires installing Java, and Graphviz.
 *      [Matt Might's Lambda Evaluator](http://matt.might.net/articles/implementing-a-programming-language/) in Scheme (R5RS and Racket).
 
 *      [Mike Thyer's Lambda Animator](http://thyer.name/lambda-animator/): Graphical tool for experimenting with different reduction strategies. Also requires installing Java, and Graphviz.
 *      [Matt Might's Lambda Evaluator](http://matt.might.net/articles/implementing-a-programming-language/) in Scheme (R5RS and Racket).