<h1><i>Note: Work on Leisure has been moved to <a If you have cloned it from or elsewhere, please sync with the Github repository (and verify with that repository that there is no additional forwarding information :)

<h1>Although the rest of this may be out of date, by now, this repository should still work as it had.</h1>

<h1><i>Lambda Calculator</i> Fossil repository</h1>
By Burdick dot burdick at gmail dot com)

(BTW, is like [Notes]

<h2>This started out as maybe a little more than three implementations of untyped Lambda Calculus in JavaScript:</h2>

  *  A compiler
  *  A reducer that shows the steps it takes to reduce an expression
  *  A virtual machine (buggy)
  *  An LLVM code generator

The virtual machine is still a bit buggy :).

<h2>The current plans are to make this into a Lambda Calculus-based language, called <a that supports metaprogramming (eval, parser macros)</h2>
Work in progress...

  *  get the old LC working in node.js (done)
  *  enhance the language to use the new LC-based AST
  *  debug the bytecode virtual machine?  Not sure if it's worth keeping.
  *  provide a compiler that generates C code
  *  provide a compiler that generates LLVM code, directly

<h2>Demo and Notes</h2>
Here are some overview <a and here is a video of the <a

Here is the <a which runs out of your browser.

Clicking the "Run" button compiles all of the LC code to JavaScript and runs the selected one.  The "Reduce" button shows the intermediate alpha, beta, and eta reductions required to reduce an LC expression.

There is a small version of Space Invaders, written in Lambda Calculus, here: It's also available in this repository, but the image links work better from a regular web server.  It's not finished, yet :)

Resources
  *  blog post on this]
  *  on Why Functional Programming Matters]
  *  Functional Programming Matters paper]
  *  Sweeney's (of Epic Games) talk]
  *  Real Point of Laziness]
  *  Points for Lazy Evaluation]