(load "/Applications/PLT/simply.scm")
; #9.4
(define (who sent)
  (every describe '(pete roger john keith)))
(define (describe person)
  (se person sent))

; The problem is that the scope of the variable "sent" in describe 
; does not include the who function.  That is to say that "sent"
; does not exist in describe.  There are two ways to deal with that
;
; * Replace describe with a lambda that does what describe does

(define (who sent)
  (every (lambda (person) (se person sent)) 
         '(pete roger john keith)))  

; * Nest describe inside of who; "sent" is not in describe's
;   parameter list, but it is in who's, and describe is now in who
;   so the variable has meaning.

(define (who sent)
  (define (describe person)
    (se person sent))
  (every describe '(pete roger john keith)))