Free and
bound variables (scope) (Due Thursday Sep 19---Electronic
submission details given in assignment).
Solution
Static and Dynamic Scope (Due Thursday
Sep 26)
Solution
Store passing (Due Sunday October 6)
Solution: interpret.ml,
sinterpret.ml
Type checking (Due Tuesday October 22)
Solution: tc.ml
Interpreter in Java (Due Friday
November 1)
Solution: Eval_Exp.java.
Higher-Order Functions in Java (Due
Friday November 8)
Solution: Sieve.java.
CPS interpreter with call/cc (Due
Friday November 22 --- Moved to Tuesday November 26)
Solution: Eval_Exp.java.
Servlets (Due before the final exam)
call/cc
. For
extra credit implement a simple exception mechanism, or a simple
coroutine mechanism, or a simple thread package. All of these are
fairly easy if you understand call/cc
.
x
to a value
v
, instead of adding x
and v
to
the environment, actually replace all relevant occurrences of
x
in the code with v
. Tricky!
setjmp/longjmp
Part easy. Part tricky.
java.util.AbstractMap
or
one of its subclasses to implement the environment.
Times
to
the third interpreter. You are not allowed to touch any of the
existing code except of course the method main
to test
your new code.