/AlligatorEggs

Yet another animation of Bret Victor's "Alligator Eggs!"

Primary LanguageJavaScript

-*- mode: outline; coding: utf-8 -*-

* about

Alligator Eggs Lambda Calculator based on Bret Victor's "Alligator Eggs!"

Try Omega: 
https://propella.github.io/AlligatorEggs/#!/(%CE%BBx.x%20x)%20(%CE%BBx.x%20x)

* test in console

node lambda.js

* note

** peg syntax

name = [a-z][A-Z][0-9]+
var = name
abs = ("λ" | "\" | "L") name "." term
paren = ( term )
prim = paren | abs | var
app = prim prim*
term = app

* todo

todo: animation is broken when playing after stop
todo: setTimeout chanin in alligator.js is too dirty.
todo: performance (layout takes too much!)
todo: Animates old alligators
todo: use index.html instead of alligator.html
todo: lambda.js namespacing
todo: Return null when the parser doesn't match

* references

http://worrydream.com/AlligatorEggs/
http://code.google.com/p/visual-lambda/
http://www.cis.upenn.edu/~bcpierce/tapl/checkers/untyped/
http://code.google.com/p/tapl-haskell/
http://keith-wood.name/svg.html

http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml#Naming
http://localhost/src/lambda/iframe-test.html

* Google gadget for hatena

http://d.hatena.ne.jp/propella/20071230/p3