X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=lambda_evaluator.mdwn;h=d39086fd257131bb012c1fa5f71191c387c23927;hp=78fc60cbdc0d7e7c365a1c2014117a9650b72378;hb=08da0e1fce6f207a276cd6d646b8741ae97a3019;hpb=e17c03bd8ce5b051ce06e123d3ce65d6086591be diff --git a/lambda_evaluator.mdwn b/lambda_evaluator.mdwn index 78fc60cb..d39086fd 100644 --- a/lambda_evaluator.mdwn +++ b/lambda_evaluator.mdwn @@ -120,6 +120,25 @@ The code is based on: * [Oleg Kiselyov's Haskell lambda calculator](http://okmij.org/ftp/Computation/lambda-calc.html#lambda-calculator-haskell). * The top-down JavaScript lexer and parser at . -Improvements we hope to add soon: the ability to reduce Combinatory Logic combinators and report the result as combinators, rather than in lambda forms. +Improvements we hope to add: +* detecting some common cases of non-normalizing terms (the problem of determining in general whether a term will normalize is undecidable) +* returning results in combinator form (the evaluator already accepts combinators as input) +* displaying reductions one step at a time +* specifying the reduction order and depth +* allow other binders such as ∀ and ∃ (though these won't be interpreted as doing anything other than binding variables) + + +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) +* [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). +* [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). + +See also: + +* [Jason Jorendorff's Try Scheme](http://tryscheme.sourceforge.net/about.html): Runs a miniature Scheme interpreter in Javascript, in your browser.