(0 . 0)(1 . 41)
2487 (define length (lambda (L)
2488 (if (eq? L '())
2489 0
2490 (+ 1 (length (cdr L))))))
2491
2492 (define map (lambda (f L)
2493 (if (eq? L '())
2494 '()
2495 (cons (f (car L)) (map f (cdr L))))))
2496
2497 (define fibs (lambda (n)
2498 (if (= n 0)
2499 0
2500 (if (= n 1)
2501 1
2502 (+ (fibs (- n 1)) (fibs (- n 2)))))))
2503
2504 (define fact (lambda (n)
2505 (if (= n 0)
2506 1
2507 (* n (fact (- n 1))))))
2508
2509 (define equal? (lambda (x y)
2510 (if (pair? x)
2511 (and (pair? y)
2512 (equal? (car x) (car y))
2513 (equal? (cdr x) (cdr y)))
2514 (eqv? x y))))
2515
2516 (define 1+ (lambda (x) (+ x 1)))
2517 (define 1- (lambda (x) (- x 1)))
2518
2519 (define succ 1+)
2520 (define pred 1-)
2521
2522 (if (= (length '(a b c d e f g)) 7) 'passed 'failed)
2523 (if (equal? (map (lambda (x) (* x x)) '(1 2 3 4 5))
2524 '(1 4 9 16 25))
2525 'passed 'failed)
2526 (if (= (fibs 10) 55) 'passed 'failed)
2527 (if (= (fact 10) 3628800) 'passed 'failed)