(define (bottles n) (cond ((= n 0) "No more bottles of beer") ((= n 1) "One bottle of beer") (else (string-append (integer->string n) " bottles of beer")))) (define (beer n) (if (>= n 0) (append (list ( ( (bottles n) " on the wall, " (bottles n) ".")) (if (> n 0) ( ( "Take one down, pass it around, " (bottles (- n 1)) " on the wall.")) ( ( "Go to the store and buy some more, " (integer->string beers-number) " bootles of beer on the wall."))) ( ( (

)))) (beer (- n 1))) '())) (define beers-number 99) (define-service (beers) ( ( ( (beer beers-number)))))