like a haskell - web λ.0 javascript
demo
fib
fact
Ackermann
source
result
eval
(Ctrl+Enter)
Clear
(Ctrl+Delete)
fib = FunctionMaker(n); fib(0).eq(1); fib(1).eq(1); fib(n).eq("fib(n-2)+fib(n-1)"); p(fib(10)); // dump memoized value p(fib.memo.toJSON())
fact = FunctionMaker(n); fact(0).eq(1); fact(n).eq("fact(n-1) * n"); p(fact(10)); // dump memoized value p(fact.memo.toJSON())
ack = FunctionMaker(m,n); ack(0,n).eq("n+1"); ack(m,0).eq("ack(m-1,1)"); ack(m,n).eq("ack(m-1,ack(m,n-1))"); p (ack(2,2)); // dump memoized value p (ack.memo.toJSON());