| ; These tests demostrate the functionality of the scheme |
| ; compiler/interpreter |
| |
| (define (dbl x) (+ x x)) |
| |
| (define len 123) |
| |
| (define (test1) |
| (= (dbl len) 246)) |
| |
| ; The hello-world for interpreters ;-) |
| (define (factorial n) |
| (if (<= n 0) 1 |
| (* n (factorial (- n 1))))) |
| |
| (define (test2) |
| (= (factorial 10) 3628800)) |
| |
| ; Fibonacci using lambda |
| (define fib |
| (lambda (n) |
| (if (< n 2) |
| n |
| (+ (fib (- n 1)) (fib (- n 2)))))) |
| |
| (define (test3) (= (fib 10) 55)) |
| |
| ; nested functions |
| (define (foo x) |
| (define (bar y z) (list x y z)) |
| (bar 9 (+ x 2))) |
| |
| (define (test4) |
| (= (foo 100) (quote ( 100 9 102 )))) |
| |