0-9 10-19 * 20-29 * 30-39 40-49 ** 50-59 60-69 * 70-79 ****** 80-89 ********* 90-99 ** 100- ** Max: 101 Min: 12 Avg: 76

- Here is a little example that illustrates the difficulty in
implementing finally. Incorrect implementations (including
the solution that I posted) will evaluate to 1.
Correct implementations will evaluate to 2:
newexception xxx in newexception yyy in let x = 1 in let g = proc (z) (raise xxx x) in let f = proc (z) tryhandlefinally yyy (proc (a) BADERROR) in g(999) finally (x:=2) in tryhandle xxx (proc (a) x) in f(999);

- Chapter 2 of my thesis has a history of continuations that you might find useful (specially pages 12-15).
- The Scheme report is available online (in ps.gz format). A slightly older version is available as a University of Oregon technical report.
- As predicted, there was a bug in the scanner. It was checking for
\n but not for \r or \f. I fixed one file coreScheme/Syntax/TokenStream/TokenStream.java
that you should copy.

Page visited times since November 18, 1996.

sabry@cs.uoregon.edu