Questions
Exams
Grades
- Grades calculations
- Most grades in
Homework
- Homework out this evening
- Excited to get back into it
- First part of your final project coming soon!
Continuation-passing Style
Simple vs Serious
How to CPS expressions:
Simple expressions
Serious expressions
Tail position
Non-tail position
Caution about tail position
Example
(define !
(lambda (n)
(if (zero? n)
1
(* n (! (sub1 n))))))
Special/tricky cases
let
cond
You try
(define extend-env
(lambda (x a env)
(lambda (y)
(if (eqv? x y)
a
(apply-env env y)))))
(define apply-env
(lambda (env y)
(env y)))