![]() |
pLISP � '98 Thomas Mahler |
// define some simple functions for demonstration // and benchmarking // compute the factorial (fac 4) = 1*2*3*4 = 24 (define fac (lambda (n) (if (= n 0) 1 (* n (fac (-1 n)))))) // version of factorial for use with Y Combinator (Y facY 4) (define facY (lambda (f n) (if (= n 0) 1 (* n (f (-1 n)))))) // compute fibonacci numbers: (define fib (lambda (n) (if (= n 0) 1 (if (= n 1) 1 (+ (fib (-1 n)) (fib (- n 2))))))) // version of fib using Y combinator (define fibY (lambda (f n) (if (= n 0) 1 (if (= n 1) 1 (+ (f (-1 n)) (f (- n 2))))))) // (tak 18 12 6) is a nice benchmark fo