I am playing with a lisp dialect (at least in my head) that I am thinking about implementing on the CLR. Like Java the CLR requires jumps across method call boundaries to be done using the exception handling mechanism.
If I have code like the following in abcl:
(block foo (flet ((callback () (return-from foo t))) (something-that-calls-into-java #'callback) ... stuff that won't happen if the callback is invoked))
And the plain old Java I'm calling into is pathological and catches the exception raised by calling the callback without re-throwing it, the non-local return never happens. Is that correct?
If so, is there no way around it?
Matt