This paper shows how exceptions can be handled in a lazy functional language, in which it is impossible to manipluate control flow without imposing strict evaluation order. The basic approach is to encode expections as values. The paper shows the profound implications of this approach.
The paper was mentioned on an interesting comp.lang.functional thread about expections and referential transparency.
Even if you are not interested in the detailed semantics presented in the papers the first sections (1-3) and last sections (5-6) should be interesting.
Posted to functional by Ehud Lamm on 9/25/01; 4:34:03 AM