Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > 2f550ead4f191b130f5eca658403e991 > files > 1931

boost-examples-1.50.0-7.fc18.noarch.rpm

; 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 ))))