On Mon 20 Feb 2012 16:48, John Cowan <[email protected]> writes:
> Peter Bex scripsit: > >> Also, I still am concerned about the fact that exceptions don't >> implicitly cause [call-]with-* to close their associated port. I agree with Peter here. > It's precisely because there might be an escape procedure that we > can't close the port; once closed, it can't be reopened as part of > reinstituting the dynamic scope. It is useful to distinguish exceptional exits from general nonlocal control flow. R7RS should specify that the port is closed on exceptional exits, but not on other exits. It is possible to implement this with exception handlers. > In any case, exceptions are handled within the dynamic environment of > the raise (except that the current handler is reverted). How does this square with `guard', whose cond clauses are specified as being evaluated in the dynamic environment of the guard expression? I still think this is an error. Giving intervening dynamic-wind expressions a workout is not something I want to happen when exceptions are raised. Andy -- http://wingolog.org/ _______________________________________________ Scheme-reports mailing list [email protected] http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
