(begin (define (newline) (display "\n")) (display (or #t #f)) (newline) (display (and #t #f)) (newline) (display (not #f)) (newline) (define a 5) (define (fib n) (cond ((< n 0) (display "WARNING: n smaller than 0")) ((< n 3) 1) (else (+ (fib (- n 2)) (fib (- n 1)))))) (define (fac n) (if (= n 1) 1 (* n (fac (- n 1))))) (set! a (+ a a)) (define l (list a (* 3 3) (+ a a))) (begin (display "(fac ") (display a) (display ") -> ") (display (fac a)) (display "\n")) (begin (display "(fib ") (display a) (display ") -> ") (display (fib a)) (display "\n")) (define l (cons 'a l)) (display l) (newline) (display (cons 'a 'b)) (newline) (display (car l)) (newline) (display (cdr (cdr l))) (newline) (display (pair? l)) (newline) (display (pair? 'a)) (newline) (display ((lambda (x y) (* x a)) 3 5)) (newline) (display (let ((a (+ a a)) (b (* a a)) (x 42)) (+ a b x))) (newline) (define (p) (define a 42) (define (f) a) f) (display ((p))) ; should return 42 (newline) 'done )