[R6RS] How SRFI 35 enables communication protocols via conditions

Marc Feeley feeley
Thu Jun 9 12:32:27 EDT 2005

On 9-Jun-05, at 11:52 AM, Michael Sperber wrote:

> For example, in the bug vs. error scenario: it's not that one is the
> *cause* of the other.

Could you elaborate on this example?  I'm not sure I follow your  
argument.  If you have other examples where there is no causal  
relationship please give them.

Perhaps you are talking about the "eval" example, where an error in  
the expression being evaluated by eval is a bug in the program that  
called eval.  To me this means that eval will wrap the "error"  
condition in a "bug" condition so there is a causal relationship.

>   Also, in the "network vs. file-system error"
> scenario, one *is* the cause for the other, but it's not clear why a
> handler with a `network-error?' predicate shouldn't be able to catch
> the condition.  What if, when I'm signalling the exception, I want to
> talk to *either* the handler for network errors or file-system errors?

By "either" you mean one or the other, but you don't care which, or  
is there some kind of ordering between the handlers from the raiser's  
point of view?  Doesn't this lead to problems (for example when  
changing the implementation of a module).  Why is the handler  
interested in the details of the implementation?


More information about the R6RS mailing list