This page is part of the web mail archives of SRFI 77 from before July 7th, 2015. The new archives for SRFI 77 contain all messages, not just those from before July 7th, 2015.
On Nov 20, 2005, at 4:36 PM, Michael Sperber wrote:
The reason is that you're assuming a semantics for WITH-EXCEPTION-HANDLER which the SRFI 34 version of it doesn't have: It doesn't throw back to the call of WITH-EXCEPTION-HANDLER when an exception occurs. Consequently, you get ("ERROR") objects thrown deep into the innards of the reference implementation, and that makes it gag, and, subsequently, less than articulate. You probably want something like: (let ((result (guard (exc (else error-object)) (operation first-arg second-arg)))) ...) in its place.
Thanks, I changed the code to (let ((result (call-with-current-continuation (lambda (c) (with-exception-handler (lambda (args) (c error-object)) (lambda () (operation first-arg second-arg))))))) (print-result name first-arg second-arg result)) and it got rid of that problem.
Having said that, your test program spotted a few more typos after this change---thanks for that! I've put an updated reference implementation up at the SRFI site which fixes at least the most obvious ones.
Is this a semi-official announcement of a new implementation at the srfi web site?
Brad