> (eval-one-exp '((lambda (x y) x) 7 a)) >(eval-expression-cps '(app-exp ((lambda-exp (x y) (var-exp x)) (lit-exp 7) (var-exp a))) '(halt-cont) '(((a b) . #(3 4)))) >(eval-expressions-cps '((lambda-exp (x y) (var-exp x)) (lit-exp 7) (var-exp a)) '(proc-cont (halt-cont)) '(((a b) . #(3 4)))) >(eval-expression-cps '(lambda-exp (x y) (var-exp x)) '(eval-exps-cont ((lit-exp 7) (var-exp a)) (proc-cont (halt-cont)) (((a b) . #(3 4)))) '(((a b) . #(3 4)))) >(apply-cont '(eval-exps-cont ((lit-exp 7) (var-exp a)) (proc-cont (halt-cont)) (((a b) . #(3 4)))) '(closure (x y) (var-exp x) (((a b) . #(3 4))))) >(eval-expressions-cps '((lit-exp 7) (var-exp a)) '(cons-cont (closure (x y) (var-exp x) (((a b) . #(3 4)))) (proc-cont (halt-cont))) '(((a b) . #(3 4)))) >(eval-expression-cps '(lit-exp 7) '(eval-exps-cont ((var-exp a)) (cons-cont (closure (x y) (var-exp x) (((a b) . #(3 4)))) (proc-cont (halt-cont))) (((a b) . #(3 4)))) '(((a b) . #(3 4)))) >(apply-cont '(eval-exps-cont ((var-exp a)) (cons-cont (closure (x y) (var-exp x) (((a b) . #(3 4)))) (proc-cont (halt-cont))) (((a b) . #(3 4)))) 7) >(eval-expressions-cps '((var-exp a)) '(cons-cont 7 (cons-cont (closure (x y) (var-exp x) (((a b) . #(3 4)))) (proc-cont (halt-cont)))) '(((a b) . #(3 4)))) >(eval-expression-cps '(var-exp a) '(eval-exps-cont () (cons-cont 7 (cons-cont (closure (x y) (var-exp x) (((a b) . #(3 4)))) (proc-cont (halt-cont)))) (((a b) . #(3 4)))) '(((a b) . #(3 4)))) >(apply-cont '(eval-exps-cont () (cons-cont 7 (cons-cont (closure (x y) (var-exp x) (((a b) . #(3 4)))) (proc-cont (halt-cont)))) (((a b) . #(3 4)))) 3) >(eval-expressions-cps '() '(cons-cont 3 (cons-cont 7 (cons-cont (closure (x y) (var-exp x) (((a b) . #(3 4)))) (proc-cont (halt-cont))))) '(((a b) . #(3 4)))) >(apply-cont '(cons-cont 3 (cons-cont 7 (cons-cont (closure (x y) (var-exp x) (((a b) . #(3 4)))) (proc-cont (halt-cont))))) '()) >(apply-cont '(cons-cont 7 (cons-cont (closure (x y) (var-exp x) (((a b) . #(3 4)))) (proc-cont (halt-cont)))) '(3)) >(apply-cont '(cons-cont (closure (x y) (var-exp x) (((a b) . #(3 4)))) (proc-cont (halt-cont))) '(7 3)) >(apply-cont '(proc-cont (halt-cont)) '((closure (x y) (var-exp x) (((a b) . #(3 4)))) 7 3)) >(apply-procedure '(closure (x y) (var-exp x) (((a b) . #(3 4)))) '(7 3) '(halt-cont)) >(eval-expression-cps '(var-exp x) '(halt-cont) '(((x y) . #(7 3)) ((a b) . #(3 4)))) >(apply-cont '(halt-cont) 7) <7 7 >