blob: 454e59562a8f139ca49b013eb68f1ad4a0c0b9dc [file] [log] [blame]
; 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 ))))