#lang scheme (define (displayln x) (display x) (newline)) (define (my-or a b) (if a #t b)) ; Test was written before we had `or` (define (fib-base? n) (my-or (= n 1) (= n 0))) (define (fib n) (if (fib-base? n) 1 (+ (fib (- n 1)) (fib (- n 2))))) (define (pfib n) (displayln n) (displayln (fib n)) (newline)) (define (pfibs n) (if (= n (- 1)) 0 ; Hack ((lambda () (pfib n) (pfibs (- n 1)))))) ; Hack (pfibs 10)