Procedure Application, Analyze Style

left top right

(define (analyze-application exp)
  (let ((fproc (analyze (operator exp)))
        (aprocs (map analyze (operands exp))))
    (lambda (env)
      (execute-application
        (fproc env)
       	(map (lambda (aproc) (aproc env)) aprocs)))))

(define (execute-application proc args)
  (cond ...
        ((compound-procedure? proc)
         ((procedure-body proc)
          (extend-environment 
            (procedure-parameters proc)
            args
            procedure-environment proc))))
        ...))

Jim Miller W3C